我有一个 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 的值?它应该是位掩码还是发生了更糟糕的事情?