我必须实现一个允许用户拍照的功能,我需要将屏幕方向强制为肖像。
更多Android设备,特别是平板电脑,配备了安装在机箱顶部的后置摄像头(纵向模式),而其他设备则在平板电脑侧面(横向模式)进行了拍摄。
例如:
华为M2-A01L(侧面摄像头)
三星Galaxy Tab A6(顶部的摄像头)
我需要以纵向模式拍摄的所有照片,下面的代码是我实现的但不起作用。
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (cameraIntent.resolveActivity(getPackageManager()) != null) {
cameraIntent.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
File storageDir = new File(Environment.getExternalStorageDirectory() + PDF_FOLDER_C);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
startActivityForResult(cameraIntent, idRow);
}
答案 0 :(得分:1)
我需要以纵向模式拍摄的所有照片
对于可能以ACTION_IMAGE_CAPTURE
启动的数百个(如果不是数千个)相机应用程序,ACTION_IMAGE_CAPTURE
没有任何内容可以强制执行特定方向。
欢迎您尝试使用原生相机API(android.hardware.Camera
,android.hardware.camera2.*
)来查看是否可以获得您想要的内容。请记住,欢迎用户将设备放在他们想要的任何方向上。