Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.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
Java Android Camera2没有物理摄像头_Java_Android_Camera_Android Camera2_Multi Camera Api - Fatal编程技术网

Java Android Camera2没有物理摄像头

Java Android Camera2没有物理摄像头,java,android,camera,android-camera2,multi-camera-api,Java,Android,Camera,Android Camera2,Multi Camera Api,我正在开发一个React原生软件包,以获取Android设备上摄像头的相关信息。问题是并不是所有的摄像机都出现了 我的代码如下: try { Context context = getReactApplicationContext(); CameraManager cameraManager = (CameraManager)context.getSystemService(Context.CAMERA_SERVICE); for (String cameraId :

我正在开发一个React原生软件包,以获取Android设备上摄像头的相关信息。问题是并不是所有的摄像机都出现了

我的代码如下:

try {
    Context context = getReactApplicationContext();
    CameraManager cameraManager = (CameraManager)context.getSystemService(Context.CAMERA_SERVICE);

    for (String cameraId : cameraManager.getCameraIdList()) {
        CameraCharacteristics cameraCharacteristics = cameraManager.getCameraCharacteristics(cameraId);

        Set<String> physicalCameraIds = null;
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) {
            physicalCameraIds = cameraCharacteristics.getPhysicalCameraIds();
        }

        Log.d(TAG, "logic ID: " + cameraId + " Physics under ID: " + Arrays.toString(physicalCameraIds.toArray()));

        int[] capabilities = cameraCharacteristics.get(CameraCharacteristics.REQUEST_AVAILABLE_CAPABILITIES);
        Log.d(TAG, Arrays.toString(capabilities));
    }

} catch(Exception e) {
    promise.reject("Error", e);
}
D/Debug: logic ID: 0 Physics under ID: []
D/Debug: [0, 9, 3, 7, 4, 5, 1, 6, 2]

D/Debug: logic ID: 1 Physics under ID: []
D/Debug: [0, 3, 5, 1, 6, 2]

这表明它缺少请求\可用\功能\逻辑\多\摄像头。不过,我正在测试的手机有3个后摄像头和1个前摄像头。我遗漏了什么?

不幸的是,并非所有制造商都支持逻辑摄像头API,即使他们提供了摄像头集群。在他们这样做之前,可能无法直接访问物理摄像机

有时,也没有自动打开变焦,所以你只能完全使用常规的FOV摄像机

这些设备中的大多数都有OEM特定的方式来访问所有摄像头,但这些方式因设备而异,可能根本无法访问常规应用程序