【发布时间】:2020-08-31 08:35:36
【问题描述】:
在我的应用程序中,我运行相机意图以使用照片应用程序拍照,代码如下:
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 的 activity.onActivityResult 函数中捕捉到创建的照片
如果我只有一个!我的移动设备上的照片应用程序 - 一切正常。
但是!如果我在我的设备上再安装一个!照片应用程序 - 上面的代码不起作用:(
如果有两个照片应用程序,当我致电 activity.startActivityForResult 时 - 我会看到带有所有可用照片应用程序列表的 Android 系统对话框。 (如 Intent.createChooser 调用)。我从中选择,首选照片应用程序,然后点击“JUST ONCE”。选定的应用程序运行,我在里面拍照,然后按确定按钮返回我的应用程序。
此刻,我收到了对我的onActivityResult 的回调,我的代码是:REQUEST_PHOTO,但使用的是requestCode = RESULT_CANCELED。就是这样:(
为什么它不起作用? 以及如何解决此问题并将相机意图与多个照片应用程序一起使用?
【问题讨论】:
标签: android android-camera-intent