0

我有一个 Nexus 6P。我正在调查为什么OpenCamera停止在 Android N Developer Preview 上工作(我不是开发人员,只是一个用户)。我发现以下可能导致问题的代码:CameraControllerManager2.java :62

我创建了一个新的 Android 项目,并添加了以下功能:

...
import android.hardware.camera2.CameraAccessException;
import android.hardware.camera2.CameraCharacteristics;
import android.hardware.camera2.CameraManager;
import android.hardware.camera2.CameraMetadata;
...
public class MainActivity extends AppCompatActivity {
    private String TAG = "MainActivity";
    ...
    public void test(int cameraId) {
        CameraManager manager = (CameraManager)this.getSystemService(Context.CAMERA_SERVICE);
        try {
            String cameraIdS = manager.getCameraIdList()[cameraId];
            CameraCharacteristics characteristics = manager.getCameraCharacteristics(cameraIdS);
            int support = characteristics.get(CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL);
            Log.d(TAG, "Camera support: " + support);
        }
        catch (CameraAccessException e) {
            e.printStackTrace();
        }
    }
    ...
}

调用test(0),我设备上的控制台输出为:

04-22 15:16:54.263 11578-11578/test.myapplication D/MainActivity: Camera support: 3

当我查找support( docs ) 的可能值时,它们必须是0、1 或 2,但是如何support取 3 的值?它应该是位掩码还是发生了更糟糕的事情?

4

1 回答 1

2

您正在查看 Android 发布版本的文档。目前,Android N 处于开发者预览阶段,文档在别处

该特性有一个新INFO_SUPPORTED_HARDWARE_LEVEL_3值,描述为:

...设备还支持 YUV 再处理和 RAW 图像捕获,以及额外的输出流配置。

于 2016-04-22T23:11:02.683 回答