我正在使用现有已安装的相机应用将照片整合到我的应用中。在我的手机上,安装了一些相机应用程序,但我只能看到手机附带的那个。
这是我的代码:
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
答案 0 :(得分:1)
我担心您所指的目标应用不会register itself appropriately作为相机应用。
如果您确切知道要打开的应用,可以在explicit Intent中指定该信息以打开该特定应用。否则,用户必须选择一个可用的应用程序。
答案 1 :(得分:1)
您可以使用获取应用程序的清单并获取Intent操作,您可以直接向intent添加操作, check App to check manifest of any app installed in android link here
这就是我如何解决同样的问题。