Android Camera Intent仅显示库存相机而非所有相机应用

时间:2017-05-25 14:28:15

标签: android android-camera android-camera-intent

我正在使用现有已安装的相机应用将照片整合到我的应用中。在我的手机上,安装了一些相机应用程序,但我只能看到手机附带的那个。

这是我的代码:

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) {
    File tempFile = // ....            
    Uri photoURI = FileProvider.getUriForFile(getActivity(), "my_fileprovider", tempFile);

    takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);

    startActivityForResult(takePictureIntent, RC_CAMERA_RETURN);
}

我的期望:

该应用程序将显示已安装的相机应用程序列表,用户可以选择一个。

我的手机信息:索尼Xperia Z2带有以下安装的相机应用程序

  • 索尼的相机(Z2附带)-----只看到这个

  • Camera ZOOM FX

  • Retrica

2 个答案:

答案 0 :(得分:1)

我担心您所指的目标应用不会register itself appropriately作为相机应用。

如果您确切知道要打开的应用,可以在explicit Intent中指定该信息以打开该特定应用。否则,用户必须选择一个可用的应用程序。

答案 1 :(得分:1)

您可以使用获取应用程序的清单并获取Intent操作,您可以直接向intent添加操作, check App to check manifest of any app installed in android link here

这就是我如何解决同样的问题。