Camera.open()返回null

当我调用mCamera = Camera.open()它返回null,可能是什么导致了这个? 我的设备是Nexus 7。

我已经在AndroidManifest.xml设置了权限:

  

Solutions Collecting From Web of "Camera.open()返回null"

弄清楚了,

你需要调用Camera.open(0)

这只能在NEXUS 7设备上运行,因为它只有一个摄像头,因此仅在定位该设备时才有用。

对于那些在Android 6.0+上测试应用程序的用户,请确保已实现运行时权限 。 因为AndroidManifest文件中的简单权限是不够的。

我按照以下步骤解决了这个问题。

  1. 打开“AVD Manager”并选择您正在使用的虚拟设备

  2. 单击“编辑”按钮 单击编辑按钮

  3. 在“硬件”部分中,选择“新建”并添加“配置面向后的摄像头”,然后单击“确定”。

  4. 在条目旁边的下拉列表中,选择“webcam0”或与您要使用的相机对应的那个 选择要使用的相机

  5. 停止AVD并重新启动。