use*_*316 19 camera android autofocus
对于Android API 2.1及更高版本,我们可以使用上下文:
getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_AUTOFOCUS)
Run Code Online (Sandbox Code Playgroud)
但在2.1版之前,我们如何执行相同的操作?有没有这样的东西不涉及调用Camera.open
然后getParameters
呢?
Elh*_*aky 21
List<String> supportedFocusModes = camera.getParameters().getSupportedFocusModes();
boolean hasAutoFocus = supportedFocusModes != null && supportedFocusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO)
Run Code Online (Sandbox Code Playgroud)
我猜:不要使用未知的常数.
getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_AUTOFOCUS)
Run Code Online (Sandbox Code Playgroud)
应该:
getPackageManager().hasSystemFeature("android.hardware.camera.autofocus")
Run Code Online (Sandbox Code Playgroud)
这是开发人员在这里使用常量的一个短视图.它解决了运行知道某个功能的API的设备是否具有某个功能的问题.但是你刚刚提到的案例失败了......他们真的很难支持多个api级别.
更新:我自己测试了... PackageManager.hasSystemFeature()仅出现在API级别5.我试图将该检查添加到我的代码中,该代码可以很好地支持API级别3(1.5)但可以从相机的自动获益焦点...似乎我必须选择支持1.5或能够使用自动对焦...或将我的向后兼容性移动到5级...或实现此http://www.java.net/forum/topic/ java-tools/java-development-tools/wwyt-conditional-compilation-pre-process ...是的,对.
他们真的很难支持多个版本.很抱歉1.5和1.6和2.0用户.因为我的设备是2.2,这将是我的底线.
API Level 5(我相信映射到 Android 2.0)中添加了许多 Camera.Parameters 类的方法,这些方法将返回支持的功能列表。对从camera.getParameters()检索的Camera.Parameters对象调用getSupportedFocusModes
http://developer.android.com/reference/android/hardware/Camera.Parameters.html
归档时间: |
|
查看次数: |
15342 次 |
最近记录: |