我的应用程序使用相机。经过大量优化后,我测试过的10多种其他设备上的一切正常。然而,在EVO上,当我尝试用相机拍照时,应用程序就会冻结。在Logcat中,我看到I/CameraService( 70): Unknow capture mode!!
我没有其他信息(我无法找到CameraService的源代码)。不知道我是否在相机上设置了一些令人反感的参数或其他什么......
当我尝试拍照时,手机有时会完全关闭。
另外,我碰巧发现其他人会在EVO上遇到麻烦:http://androidforums.com/evo-4g-support-troubleshooting/94822-camera-problem-evo.html
有什么想法吗?
答案 0 :(得分:0)
您最有可能为此特定设备设置了一些无效的相机参数。首先测试它,确保支持您使用的每个参数。
您可以使用Camera.Parameters.getSupported*()
(请参阅Camera.Parameters
)方法查询支持的参数(例如getSupportedFocusModes()
。)如果参数未包含在返回的列表中,则不支持这个设备;因此你不能使用它。
答案 1 :(得分:0)
好的,事实证明,至少在HTC EVO 4G转变(我认为理所当然,在其他HTC设备上,或至少是EVO),setDisplayOrientation(90)
会导致问题。奇怪的是,当预览首次开始时,对setDisplayOrientation(90)
的调用显然没有问题,因为它有效!问题是在某个地方,它坚持这个和设备不喜欢它。如果我评论它一切正常。问题是,我需要将该死的显示方向设置为90度;)。