- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Activity Result APIs为我正在开发的应用程序处理单张照片的挑选。我正在尝试使用其中一个预定义契约(Contract)来简化事情。所以,我正在尝试使用 ActivityResultContracts.PickVisualMedia()契约(Contract)。
我正在按如下方式设置 Activity Result Launcher:
private ActivityResultLauncher<PickVisualMediaRequest> pickVisualMediaActivityResultLauncher;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
pickVisualMediaActivityResultLauncher = registerForActivityResult(
new ActivityResultContracts.PickVisualMedia(),
this::onPickVisualMediaActivityResult
);
}
我正在尝试构建一个 PickVisualMediaRequest并在此处启动 Activity 结果启动器:
private void onSelectNewPhotoButtonClick() {
PickVisualMediaRequest request = new PickVisualMediaRequest.Builder()
.setMediaType(new ActivityResultContracts.PickVisualMedia.ImageOnly())
.build();
pickVisualMediaActivityResultLauncher.launch(request);
}
问题是 Android Studio 提示 ActivityResultContracts.PickVisualMedia.ImageOnly() 没有使用适当的可见性,即使它是一个有效的 VisualMediaType 并且文档暗示它应该以这种方式使用:
我真的找不到关于这个特定场景的任何代码示例。我错过了什么吗? API 是否存在可见性缺陷,还是我今天太笨了?
最佳答案
在 CommonsWare 的帮助下,我确定 setMediaType()
接受 Kotlin 对象实例。所以,我上面的坏函数应该是:
private void onSelectNewPhotoButtonClick() {
ActivityResultContracts.PickVisualMedia.VisualMediaType mediaType = (ActivityResultContracts.PickVisualMedia.VisualMediaType) ActivityResultContracts.PickVisualMedia.ImageOnly.INSTANCE;
PickVisualMediaRequest request = new PickVisualMediaRequest.Builder()
.setMediaType(mediaType)
.build();
pickVisualMediaActivityResultLauncher.launch(request);
}
Android Studio 提示类型转换,但代码确实按预期编译和工作。非常奇怪。
关于java - 如何为 ActivityResultLauncher 构建 PickVisualMediaRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73999566/
我正在尝试使用 Activity Result APIs为我正在开发的应用程序处理单张照片的挑选。我正在尝试使用其中一个预定义契约(Contract)来简化事情。所以,我正在尝试使用 Activity
我是一名优秀的程序员,十分优秀!