Camera.open()返回null

时间:2012-08-21 11:39:37

标签: android android-camera

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

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

<uses-permission android:name="android.permission.CAMERA" />

3 个答案:

答案 0 :(得分:27)

想出来,

您需要致电Camera.open(0)

这只在NEXUS 7设备上有效且正常工作,因为它只有一个摄像头,因此仅在定位该设备时才有用。

答案 1 :(得分:5)

对于那些在Android 6.0+上测试应用的用户,请确保已实施Runtime Permission。 因为AndroidManifest文件中的简单权限是不够的。

答案 2 :(得分:1)

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

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

  2. 单击“编辑”按钮 Click on edit button

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

  4. 在条目旁边的下拉菜单中,选择“webcam0”或与您要使用的相机对应的那个 Select the camera you want to use

  5. 停止AVD并重新开始。