【发布时间】:2015-10-24 09:05:21
【问题描述】:
我使用的是运行 Android 4.4.4 的小米红米。我正在使用演示项目作为我的 DemoCameraFragment 的参考。当相机第一次启动时,isAutofocusAvailable() 返回 false。在 SingleShotMode 中拍摄第一张照片后,我单击“拍摄下一张照片按钮”,在该按钮中调用 restartPreview()。出于某种原因,isAutofocusAvailable() 现在返回 true,我可以成功调用自动对焦。
现在,当我调用 getFlashMode() 时,当我的应用程序启动时,我得到一个空指针异常(我认为这发生在相机对象上)。但是,在我拍摄第一张照片并单击“拍摄下一张照片”按钮“(我在这里调用restartPreview())后,getFlashMode() 不再给我一个空指针异常。
我在设置方面究竟错过了什么?我正在使用 Android 注释,所以我对 autofocus 和 getFlashMode 的第一次调用是在 @AfterViews 注释函数中。为什么 Autofocus 和 getFlashMode 在第一次调用时不起作用?
【问题讨论】:
-
“我在设置方面究竟错过了什么?” - 我不知道,部分原因是我看不到您的代码。运行演示应用程序。如果演示应用程序在此设备上出现类似问题,则库和设备之间存在一些不兼容。如果,OTOH,演示应用程序运行正常,那么问题与您的代码更紧密相关。
-
isAutofocusAvailable 和 getFlashModes 仅在我拍照后调用 restartPreview 并单击“拍摄下一张照片”按钮后才返回 true。
标签: android android-camera commonsware-cwac cwac-camera