如何在使用 intent ACTION_IMAGE_CAPTURE 时将方向锁定为纵向?

How to lock the orientation to Portrait when using intent ACTION_IMAGE_CAPTURE?

我知道我可以在清单中设置 activity 的方向,但是当这个 activity 调用 MediaStore.ACTION_IMAGE_CAPTURE 打开相机拍照时,用户仍然可以在横向模式下拍照。我可以将相机应用本身的方向锁定为纵向吗?

这是一个示例代码:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photo));
startActivityForResult(intent, TAKE_PICTURE);

我想阻止用户拍摄任何风景照片。

如有任何帮助,我们将不胜感激。

编辑:发现另一个关于该主题的问题尚未得到解答: How to lock the camera app orientation called through intent in android?

使用它一段时间后,似乎无法在使用 Intent MediaStore.ACTION_IMAGE_CAPTURE 时将方向锁定为纵向。

所以我决定实现一个自定义相机,并按照评论中的建议,通过 setDisplayOrientation 方法在代码中设置方向。

基本上,这不是解决问题的方法,只是 "tackle" 它的另一种方法,但它适合我的情况,因为我还能够处理用户界面并对默认界面。