有时Camera.open返回null或有时它工作正常

时间:2013-01-03 18:22:02

标签: android

我正在尝试使用Camera.open()在on-create方法中获取相机实例以显示相机预览。但有时它会返回null。如何处理此问题。

我已在manifest档案中获得了许可。

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

2 个答案:

答案 0 :(得分:1)

观看logcat应该有所帮助。如果它无法打开相机,它应该只返回null,因为另一个活动正在积极使用它并且尚未释放它。

出于同样的原因,您应该在onPause方法中释放相机。

答案 1 :(得分:0)

尝试调试应用程序并尝试捕获此方法返回null时的那一刻,这可能会为您提供一些更新。

同时为"android:required="true"标记指定uses-feature,这样可确保只有在相机可用时才会运行该应用。

由于文档状态open()仅在相机不可用时才返回null,因此这将检查它是否不是硬件问题。

  

如果设备没有后置摄像头,则返回null。 (Documentation