如何解决选择和图像谷歌照片后 Flutter Android 无法打开我的应用
我正在使用 ImagePicker 在我的应用中挑选图像。如果我试图从最近的图像中选择它,那么应用程序的行为是正常的,我的应用程序正在打开并调用 onActivityResult 方法,但是如果我试图从 Photo 应用程序中选择一个图像 - 它只是返回到上一个屏幕,没有打开我的应用程序,也没有调用 onActivityResult。也许有人遇到过这样的问题?
这里是插件如何开始挑选:
private void launchPickImageFromGalleryIntent() {
Intent pickImageIntent = new Intent(Intent.ACTION_GET_CONTENT);
pickImageIntent.setType("image/*");
activity.startActivityForResult(pickImageIntent,REQUEST_CODE_CHOOSE_IMAGE_FROM_GALLERY);
}
这是 onActivityResult 的实现,在我们尝试从 Google Photo 应用中选择时不会调用它:
@Override
public boolean onActivityResult(int requestCode,int resultCode,Intent data) {
switch (requestCode) {
case REQUEST_CODE_CHOOSE_IMAGE_FROM_GALLERY:
handleChooseImageResult(resultCode,data);
break;
case REQUEST_CODE_TAKE_IMAGE_WITH_CAMERA:
handleCaptureImageResult(resultCode);
break;
case REQUEST_CODE_CHOOSE_VIDEO_FROM_GALLERY:
handleChooseVideoResult(resultCode,data);
break;
case REQUEST_CODE_TAKE_VIDEO_WITH_CAMERA:
handleCaptureVideoResult(resultCode);
break;
default:
return false;
}
return true;
}
我是否需要注册应用包名称或其他内容才能让照片应用知道我的应用?
解决方法
通过 fork 一个 TimePicker 项目做了一个临时修复,并将方法 launchPickImageFromGalleryIntent 更改为
private void launchPickImageFromGalleryIntent() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
activity.startActivityForResult(Intent.createChooser(intent,"Select Picture"),REQUEST_CODE_CHOOSE_IMAGE_FROM_GALLERY);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。