Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在ImageCapture.Builder上设置目标分辨率在某些华为设备上不起作用_Android_Android Jetpack_Android Camerax - Fatal编程技术网

Android 在ImageCapture.Builder上设置目标分辨率在某些华为设备上不起作用

Android 在ImageCapture.Builder上设置目标分辨率在某些华为设备上不起作用,android,android-jetpack,android-camerax,Android,Android Jetpack,Android Camerax,假设我们只想拍摄目标分辨率为1200x1600像素的纵向(非横向)照片 根据ImageCapture.Builder中的setTargetResolution方法文档: 分辨率应该在用例的目标旋转时表示。 例如,在自然模式下具有纵向自然方向的设备 请求纵向图像的目标旋转可指定480x640,以及 同一台设备,旋转90度,瞄准地面 方向可以指定640x480 我们应该像这样构建ImageCapture用例: ImageCapture.Builder() .setTargetResolutio

假设我们只想拍摄目标分辨率为
1200x1600
像素的纵向(非横向)照片

根据
ImageCapture.Builder
中的
setTargetResolution
方法文档:

分辨率应该在用例的目标旋转时表示。 例如,在自然模式下具有纵向自然方向的设备 请求纵向图像的目标旋转可指定480x640,以及 同一台设备,旋转90度,瞄准地面 方向可以指定640x480

我们应该像这样构建
ImageCapture
用例:

ImageCapture.Builder()
   .setTargetResolution(Size(1200, 1600))
   .build()
让我们假设我们的手机始终处于纵向自然方向

除一些华为手机(如华为Mate 20 Lite)外,其他一切正常。图像被裁剪,因为我们会反转尺寸(即
size(16001200)

是否有任何“安全”的解决方法,我们可以用来解决这个问题?我不想把华为的设备列入黑名单

CameraX版本
1.0.0-beta03

编辑


1.0.0-beta06
仍然不起作用。

要信任华为,还是不信任华为,这就是问题所在。您是否尝试将setTargetRotation与setTargetResolution一起设置?我设置了,但不幸的是,它不起作用。@Nominalista代替阻止列表,您可以执行类似于反向设备列表的操作,对于那个些你们提供的分辨率参数已经反转了,所以那个些设备将再次反转,并得到正确的结果。我说什么?它可以工作,但我不能访问信号黑名单中的所有设备。当我注意到真正的用户遇到这个问题时,我假设我必须按顺序展开设备列表。