首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >相机意图不适用于多个相机应用程序

相机意图不适用于多个相机应用程序
EN

Stack Overflow用户
提问于 2020-05-14 17:28:18
回答 1查看 167关注 0票数 0

在我的应用程序中,我运行相机意图与照片应用程序拍照,下面的代码如下:

代码语言:javascript
复制
Activity activity;
File currentPhotoFile;
Intent capturePhoto = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri uri = GenericFileProvider.getUriForFile(activity, activity.getPackageName() + providerSufixName, currentPhotoFile);
capturePhoto.putExtra(MediaStore.EXTRA_OUTPUT, uri);
activity.startActivityForResult(capturePhoto, REQUEST_PHOTO);

之后,我在活动中的activity.onActivityResult函数中捕捉到创建的照片。

如果我只有一个!照片应用程序在我的移动设备-一切运行良好。

但!如果我再在我的设备上安装一个!照片应用-上面的代码不起作用:(

在两个照片应用程序的情况下,当我调用activity.startActivityForResult时,我看到了带有所有可用照片应用列表的andoid对话框。(就像Intent.createChooser调用)。我从中选择,更好的照片应用和点击“只一次”。选择运行的应用程序,我在里面拍照,然后按Ok按钮返回我的应用程序。这时,我收到了用我的代码:REQUEST_PHOTO,但用requestCode = RESULT_CANCELED回调我的REQUEST_PHOTO。仅此而已:

为什么不起作用?我如何解决这个问题,并使用相机意图与多个照片应用程序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-04 04:01:36

问题是,在清单中,我可以选择:android:launchMode="singleInstance"作为我的活动。

代码语言:javascript
复制
<activity
            android:name="MyActivity"
            android:launchMode="singleInstance"
>

为了解决上述问题,您应该从清单文件中删除singleInstance选项(或者在singleTask选项中替换它)。这就是解决问题的方法,onActivityResult正在正常工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61803633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档