getCameraIdList()函数返回一个空数组

时间:2014-05-12 05:49:22

标签: java android android-camera

我正在尝试使用Android的相机API 2,我有一个我无法修复的错误。 函数getCameraIdList()由于某种原因返回一个空数组,虽然我的模拟器上有2个工作相机(我使用Android相机应用程序检查了它)。 我正在使用具有以下详细信息的模拟设备: 设备:Nexus S. API级别:androd 4.4.2,API级别19 CPU:intel atom x86 前面和前面后置摄像头被模拟

你怎么看? 附上是代码。

private CameraManager mManager;
private String[] mCameraIds;
mManager = (CameraManager)getSystemService(Context.CAMERA_SERVICE);
mCameraIds = mManager.getCameraIdList();

2 个答案:

答案 0 :(得分:0)

以下是可能让应用重新开始工作的四件事。当我收到错误时,这四个中的一个总是对我有用。

  1. 切换到另一个应用程序,然后返回相机应用程序 点击后退按钮退出相机应用程序,然后点击再次打开它。这是成功率最低的,说实话,但它确实有效,而且是最快的解决方案。
  2. 退出可能正在使用相机的所有应用。  转到设置>电池并检查mm-qcamera-daemon是否正在运行。退出它并再次启动应用程序以查看相机是否连接。
  3. 退出应用并重新启动它。这大多数时候都有用。   如果它没有尝试强制停止应用程序并清除缓存。这些措施听起来很激烈,但成功率很高。
  4. 如果一切都失败了,请重新启动手机  在重新启动之前退出正在运行的每个应用程序。我发现这个什么都行不通,到目前为止还没有再出现错误。

答案 1 :(得分:0)

函数getCameraIdList仅适用于Android API的第21版