22

当我调用mCamera = Camera.open()它返回 null 时,可能是什么原因造成的?我的设备是 Nexus 7。

我已经在我的AndroidManifest.xml

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

4 回答 4

27

弄清楚了,

你需要打电话Camera.open(0)

这仅在 NEXUS 7 设备上有效且有效,因为它只有一个摄像头,因此仅在仅针对该设备时才有用。

于 2012-08-21T11:53:45.163 回答
5

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

于 2016-11-26T15:31:33.507 回答
1

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

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

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

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

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

  5. 停止 AVD 并重新启动。

于 2012-11-02T18:38:51.647 回答
0

如果您在 API 22 之上构建应用程序,也许您应该请求许可。

于 2021-01-14T02:34:35.787 回答