【问题标题】:getCameraIdList() function returns an empty arraygetCameraIdList() 函数返回一个空数组
【发布时间】:2014-05-12 05:49:22
【问题描述】:

我正在尝试使用 Android 的相机 API 2,但我遇到了一个无法修复的错误。 函数 getCameraIdList() 出于某种原因返回一个空数组,尽管我的模拟器上确实有 2 个工作相机(我使用 Android 相机应用程序检查了它)。 我正在使用具有以下详细信息的模拟设备: 设备:Nexus S API 级别:androd 4.4.2,API 级别 19 CPU:英特尔原子 x86 模拟前后摄像头

你怎么看? 附上代码。

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

【问题讨论】:

  • 您是否在清单中请求了camera feature
  • CameraManager 使用 api 21 及以上
  • 仍然在 API>21 中得到这个并且还有权限。你找到解决办法了吗

标签: java android android-camera


【解决方案1】:

函数 getCameraIdList 仅适用于 Android API 21 版

【讨论】:

    【解决方案2】:

    以下四点可能会让应用重新开始工作。当我遇到错误时,这四个中的一个总是为我解决问题。

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

    【讨论】:

      猜你喜欢
      • 2019-04-23
      • 2019-10-31
      • 1970-01-01
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 2015-09-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多