发照片

时间:2018-01-31 15:05:19

标签: android camera photo

我必须实现一个允许用户拍照的功能,我需要将屏幕方向强制为肖像。

更多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);
    }

1 个答案:

答案 0 :(得分:1)

  

我需要以纵向模式拍摄的所有照片

对于可能以ACTION_IMAGE_CAPTURE启动的数百个(如果不是数千个)相机应用程序,ACTION_IMAGE_CAPTURE没有任何内容可以强制执行特定方向。

欢迎您尝试使用原生相机API(android.hardware.Cameraandroid.hardware.camera2.*)来查看是否可以获得您想要的内容。请记住,欢迎用户将设备放在他们想要的任何方向上。