无法从应用程序拍照

时间:2017-07-28 14:48:42

标签: android image android-camera-intent

我正在使用不同的标签,几乎相同。 在我的应用程序中,我想使用此代码用相机拍照

  public void takePicture(View v) {
    imageFilePath = file_path + "/" + "Photo_" + idFiche + ".png";
    File imageFile = new File(imageFilePath);
    Uri imageFileUri = Uri.fromFile(imageFile);
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageFileUri);
    startActivityForResult(takePictureIntent, REQUEST_CODE_PICTURE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    InputStream stream = null;
    if (requestCode == REQUEST_CODE_PICTURE && resultCode == Activity.RESULT_OK) {

       //blablabla
    }
}

适用于某些标签,但与其他标签一起使用时,无法点击照片应用的激活按钮来保存图片,如下图所示,红色边框。 enter image description here

我认为相机应用程序错误,即使我可以直接从设备拍照(而不是从我的应用程序),但如何解决?我可以删除图片应用并使用具有相同代码的其他应用吗?或者通过新意图启动特定的应用程序???

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

  

我认为相机应用程序错误

最有可能。许多相机应用程序似乎都没有经过ACTION_IMAGE_CAPTURE的测试。

  

如何解决?

停止使用ACTION_IMAGE_CAPTURE。直接或通过第三方库使用相机API。

  

我可以删除图片应用

如果通过"图片应用程序",您的意思是#34;相机应用程序",可能是相机应用程序已预先安装且无法卸载。此外,用户可能不会感谢您尝试卸载他们的相机应用程序。

  

并使用具有相同代码的其他应用程序?

如果设备上安装了多个支持ACTION_IMAGE_CAPTURE的应用,则您的代码已经为用户提供了相机应用选择。

  

或者通过新意图启动特定应用程序?

您所需的特定应用程序&#34>极不可能。存在于设备上。