Camera Intent无法与多个相机应用程序一起使用

问题描述 投票:0回答:1

在我的应用程序中,我运行相机意图使用照片应用程序拍照,并使用以下代码:

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时-我看到包含所有可用照片应用程序列表的仿制系统对话框。 (例如Intent.createChooser调用)。我从中选择首选的照片应用,然后点击“仅一次”。选定的应用程序运行,我在其中拍照,然后按“确定”按钮以返回到我的应用程序。这时,我收到使用代码onActivityResult但使用REQUEST_PHOTO回调到requestCode = RESULT_CANCELED的信息。仅此而已:(

为什么不起作用?以及如何解决此问题并将相机意图用于多个照片应用程序?

在我的应用程序中,我运行相机意图使用照片应用程序拍照,其代码如下:活动活动;文件currentPhotoFile;意图捕获照片=新意图(MediaStore.ACTION_IMAGE_CAPTURE); Uri ...

android android-camera-intent
1个回答
0
投票

问题是清单中我有选择:android:launchMode="singleInstance"是我的活动。

© www.soinside.com 2019 - 2024. All rights reserved.