在某些设备中(特别是在android 14中),当我想使用
PickVisualMediaRequest
从图库中选择媒体时,Google Play显示出了问题,我无能为力。
这是错误: 点击查看错误图片
这是我选择媒体的代码:
ActivityResultLauncher<PickVisualMediaRequest> pickMedia =
registerForActivityResult(new ActivityResultContracts.PickVisualMedia(), new ActivityResultCallback<Uri>() {
@Override
public void onActivityResult(Uri uri) {
if (uri != null) {
// my stuff
}
}
});
pickMedia.launch(new PickVisualMediaRequest.Builder()
.setMediaType(ActivityResultContracts.PickVisualMedia.ImageOnly.INSTANCE)
.build());
注意:我在 3 个应用程序中使用单个签名密钥。
我在谷歌上搜索,但没有找到任何解决我的问题的方法。我还在 Android 14 模拟器上进行了测试,但它对我来说效果很好。
我遇到了同样的问题,我通过更新手机上的谷歌播放服务应用程序解决了这个问题,但由于我正在寻找一种不需要用户更新其播放服务的替代解决方案,我发现 PickVisualMedia 是较新的 API 可能无法在具有不同播放服务的所有 Android 版本上无缝运行(不知道为什么!?),但使用旧的 API 拯救了我。
val launcher = rememberLauncherForActivityResult(
contract = ActivityResultContracts.GetContent(),
onResult = { uri ->
uri?.let { viewModel.addCover(cover = uri) }
}
)
launcher.launch("image/*")