在自定义相机中会使用对焦的功能。
原始代码:
通过定时任务调用以下代码
camera.autoFocus(new Camera.AutoFocusCallback() {
@Override
public void onAutoFocus(boolean success, Camera camera) {
}
});
测试机为Android5.1系统,经过测试后对焦效果良好。
后期在维护“运行时权限”时,用到了Android7.1系统测试机,发现一个问题,上述的对焦功能代码失效,首先想到了是“运行时权限”的问题导致的,后想要运行时请求对焦的权限?然而,并不行。
问题的范围就是对焦部分的代码,于是从对焦代码入手,后解决此问题
解决方案:在对焦成功后取消对焦
解决代码:
camera.autoFocus(new Camera.AutoFocusCallback() {
@Override
public void onAutoFocus(boolean success, Camera camera) {
if(success){
camera.cancelAutoFocus();
}
}
});
至此解决问题,作此以备录。
网友评论