用图片删除中间屏幕

时间:2018-05-18 19:36:51

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

我正在使用此方法打开相机并拍照:

public static void openCamera(Fragment fragment, Uri fileUri) {
      Intent takePicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
      takePicture.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
      takePicture.putExtra("return-data", true);
      if(takePicture.resolveActivity(fragment.getContext().getPackageManager())!=null){
        granUriPermission(fragment.getContext(), fileUri, takePicture);
        fragment.startActivityForResult(takePicture, Constants.Intents.INTENT_IMAGE_CAMERA);
      }else{
        Toast.makeText(fragment.getContext(), R.string.error_no_camera_app, Toast.LENGTH_SHORT).show();
      }
    }

在拍完照片后,我会看到这个屏幕,询问我是否要保留或删除刚拍摄的照片:

enter image description here

这是什么画面?

我可以强制其方向处于横向模式吗?

我可以删除这个额外的步骤/屏幕并直接进入我显示图片的片段吗?

1 个答案:

答案 0 :(得分:1)

  

这是什么画面?

这似乎是一个确认屏幕。

  

我可以强制其方向处于横向模式吗?

不,因为那不是来自您的应用。它来自可能通过ACTION_IMAGE_CAPTURE Intent启动的数百种不同相机应用中的一种。

  

我可以删除这个额外的步骤/屏幕并直接进入我显示图片的片段吗?

可能不是。欢迎您联系该相机应用程序的开发人员并询问他们,但他们的解决方案仅适用于他们的应用程序。在大约10,000个Android设备型号和大约20亿台Android设备上,它对您可能遇到的数百种其他相机应用程序无济于事。

如果您希望完全控制相机UX - 以复杂性为代价 - 使用包裹原生相机API的第三方相机库(例如,CameraKit-Android,Fotoapparat)(例如android.hardware.Cameraandroid.hardware.camera2.*)。