我正在使用此方法打开相机并拍照:
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();
}
}
在拍完照片后,我会看到这个屏幕,询问我是否要保留或删除刚拍摄的照片:
这是什么画面?
我可以强制其方向处于横向模式吗?
我可以删除这个额外的步骤/屏幕并直接进入我显示图片的片段吗?
答案 0 :(得分:1)
这是什么画面?
这似乎是一个确认屏幕。
我可以强制其方向处于横向模式吗?
不,因为那不是来自您的应用。它来自可能通过ACTION_IMAGE_CAPTURE
Intent
启动的数百种不同相机应用中的一种。
我可以删除这个额外的步骤/屏幕并直接进入我显示图片的片段吗?
可能不是。欢迎您联系该相机应用程序的开发人员并询问他们,但他们的解决方案仅适用于他们的应用程序。在大约10,000个Android设备型号和大约20亿台Android设备上,它对您可能遇到的数百种其他相机应用程序无济于事。
如果您希望完全控制相机UX - 以复杂性为代价 - 使用包裹原生相机API的第三方相机库(例如,CameraKit-Android,Fotoapparat)(例如android.hardware.Camera
,android.hardware.camera2.*
)。