Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么';Android是否会从我自己的应用程序中请求所需的摄像头应用程序?_Android_Camera - Fatal编程技术网

为什么';Android是否会从我自己的应用程序中请求所需的摄像头应用程序?

为什么';Android是否会从我自己的应用程序中请求所需的摄像头应用程序?,android,camera,Android,Camera,我有一个按钮,可以指向手机上安装的任何摄像头应用程序,这很好用。但是,在某些手机上,摄像头应用程序不会返回任何结果,一个应用程序会返回损坏的图像。我已经在这些手机上安装了另一个更好的摄像头应用程序,但在安装旧的摄像头应用程序时,我无法让它运行 如果有多个候选者,Android不是应该自动问我想使用哪个应用吗?我是否需要在我的应用程序中执行其他操作才能做到这一点 编辑:这甚至适用于在生活中从未有过“选择默认照相机应用”对话框的手机。即使我使用Intent.createChooser(Intent,

我有一个按钮,可以指向手机上安装的任何摄像头应用程序,这很好用。但是,在某些手机上,摄像头应用程序不会返回任何结果,一个应用程序会返回损坏的图像。我已经在这些手机上安装了另一个更好的摄像头应用程序,但在安装旧的摄像头应用程序时,我无法让它运行

如果有多个候选者,Android不是应该自动问我想使用哪个应用吗?我是否需要在我的应用程序中执行其他操作才能做到这一点

编辑:这甚至适用于在生活中从未有过“选择默认照相机应用”对话框的手机。即使我使用Intent.createChooser(Intent,“选择相机应用”);选择器从不出现

以下是我使用的代码:

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
startActivityForResult(intent, RESULT_TAKEPHOTO);
您必须使用Intent类的)方法。 你的代码应该是这样的

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
startActivityForResult(Intent.createChooser(intent, "Choose cam application"), RESULT_TAKEPHOTO);

我已经看过了,但这只会在正常的一个出现时出现,唯一的区别是你不能选择一个默认的运行,而不是显示选择器(在这种情况下,最好只选择第一次)。在我的例子中,即使这个强制版本也不显示选择器。就好像没有其他相机应用程序正确设置了它的意图标签,所以它不会响应选择器。这毫无意义,所以我一直认为这是我的应用程序的错。