android zxing 自动对焦,ZXing自动对焦问题

Pavel Bobkov..

5

我在Samsung Galaxy Grand 2(Android 4)上遇到了同样的问题,并且找到了一个解决方案。启动相机之前,我禁用了自动对焦功能。1-2秒后,我启用了它。我尝试了几种方法,并决定定期切换自动对焦功能。为了实现这一点,我创建了util类-FocusHandler。

public class FocusHandler implements Runnable{

private final int FOCUS_OFF_TIME = 2000;

private final int FOCUS_ON_TIME = 20000;

private boolean flag = false;

private boolean state = false;

private Handler handler;

private WeakReference scannerView;

public FocusHandler(Handler handler, ZXingScannerView scannerView){

this.handler = handler;

this.flag = false;

this.scannerView = new WeakReference<>(scannerView);

}

public void start(){

state = true;

this.handler.post(this);

}

public void stop(){

state = false;

scannerView.clear();

}

@Override

public void run() {

if (!state || this.scannerView.get() == null){

return;

}

int time;

if (!flag){

this.scannerView.get().setAutoFocus(flag);

time = FOCUS_OFF_TIME;

}

else{

this.scannerView.get().setAutoFocus(flag);

time = FOCUS_ON_TIME;

}

flag = !flag;

handler.postDelayed(this, time);

}

}

/ ***************活动****************** /

private ZXingScannerView scannerView;

private FocusHandler focusHandler;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_scanner);

scannerView = new ZXingScannerView(this);

focusHandler = new FocusHandler(new Handler(), scannerView);

frameLayout.addView(scannerView);

}

@Override

protected void onResume() {

super.onResume();

scannerView.setResultHandler(this);

scannerView.setAutoFocus(false);

scannerView.startCamera();

focusHandler.start();

}

@Override

public void onPause() {

super.onPause();

scannerView.stopCamera();

focusHandler.stop();

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/519062.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多场景下的AI疫情防控“天网”:解读云边端联动下的全栈 AI 技术

在全民抗疫的特殊时期下&#xff0c;伴随着春运返潮&#xff0c;企业陆续复工&#xff0c;从重点防控的机场、火车站&#xff0c;到学校、企业、社区等密集型场所&#xff0c;都是不能忽视的地点。除了人工逐一测量体温排查外&#xff0c;我们还发现&#xff0c;在人员复杂、流…

Twitter 宣布抛弃 Mesos,全面转向Kubernetes

美国西部时间 5 月 2 日下午 7 点&#xff0c;Twitter 公司在旧金山总部举行了一次技术发布会兼 Meetup。会上&#xff0c;Twitter 计算平台&#xff08;Twitter Computing Platform&#xff09;产品与技术负责人 David McLaughlin 正式宣布&#xff0c;Twitter 的基础而设施将…

Guns整合log4j2

文章目录一、排除内置logback1. 删除logback.xml2. 排除内置的logback二、整合log4j22.1. 依赖log4j22.2. 配置文件中配置2.3. log4j2日志文件2.4. 效果图2.5. 输出要素Sringboot 开源框架默认logback日志框架&#xff0c;Guns开源项目也是用logback日志框架 一、排除内置logba…

蚂蚁金服生产级 Raft 算法库存储模块剖析 | SOFAJRaft 实现原理

前言 SOFAJRaft 是一个基于 Raft 一致性算法的生产级高性能 Java 实现&#xff0c;支持 MULTI-RAFT-GROUP&#xff0c;适用于高负载低延迟的场景。 SOFAJRaft 存储模块分为&#xff1a; Log 存储记录 Raft 配置变更和用户提交任务日志&#xff1b;Meta 存储即元信息存储记录…

android studio 调用c++,android studio配置opencv,调用c++,处理图像

一、下载安卓的opencv sdk这里下载release版的&#xff0c;下载后解压二、新建工程三、编写界面布局(工程等下上传到github)四、添加Module&#xff0c;Android Studio菜单-->File-->New-->Import Module添加完成五、加入依赖此时Sync报错&#xff0c;需要修改文件修改…

Guns mybatisplus只输出sql不输出结果集

文章目录1. yml配置2. 效果图今天给大家讲一下在数据量特别大的场景下&#xff0c;Guns开源项目怎样实现只输出sql不输出结果集列表。 1. yml配置 mybatis-plus:typeAliasesPackage: cn.stylefeng.guns.modular.system.modelmapper-locations:- classpath*:cn/stylefeng/guns/…

AWS还是Firebase?在移动应用后端应该使用哪个?

作者| Dhananjay Trivedi翻译 | 天道酬勤&#xff0c;编辑 | Carol出品| CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;我们将按以下顺序比较这两种服务&#xff1a;它们有什么共同点&#xff1f;如何将它们与你的前端集成&#xff1f;它们的优势。它们的价格。创…

Javascript 模块化指北

前言 随着 Web 技术的蓬勃发展和依赖的基础设施日益完善&#xff0c;前端领域逐渐从浏览器扩展至服务端&#xff08;Node.js&#xff09;&#xff0c;桌面端&#xff08;PC、Android、iOS&#xff09;&#xff0c;乃至于物联网设备&#xff08;IoT&#xff09;&#xff0c;其中…

对话鲁直:蚂蚁金服中间件的开源头羊 | 穿山甲专访

谈话中&#xff0c;鲁直反问的“你为什么不开源&#xff1f;”这句话让我印象深刻。-- 老王 二月初春&#xff0c;在西子湖畔的细雨中&#xff0c;我拜访了蚂蚁金服中间件团队&#xff0c;和 SOFA 技术负责人鲁直做了一次深入交谈&#xff0c;更妙的是&#xff0c;鲁直也是负责…

java.net.NoRouteToHostException: Cannot assign requested address

启动脚本 jmeter.sh -n -t test.jmx -l result.jtl参数说明 - h 帮助 -> 打印出有用的信息并退出 - n 非GUI模式 -> 在GUI模式下进行JMeter测试 - t 测试文件 要运行的JMeter测试脚本文件 - l 日志文件 记录结果的文件 - r 远程执行 启动远程服务 - H 代理主机 设置JMete…

与时间赛跑:微盟的数据恢复为什么需要这么长时间

作者| 茹炳晟责编 | Carol出品| CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09;微盟“删库跑路“事件已经过去好几天了&#xff0c;据悉&#xff0c;微盟的服务已经全部恢复&#xff0c;对于新用户&#xff0c;已经能够正常开始所有相关的业务活动了&#xff0c;但…

基于Dockerfile创建一个最简单的docker镜像

试着创建一个docker image, 不在乎实用性和功能&#xff0c;只是对docker 创建image 有个大概的了解&#xff0c;所以有此文章。 文章目录step1. 创建文件夹step2. 进入文件夹step3. 创建Dockerfilestep4. 构建镜像step1. 创建文件夹 mkdir busyboxstep2. 进入文件夹 cd busyb…

阿里开发者招聘节 | 面试题08:NAS(Network Attached Storage)协议NFS和SMB相关问题

为帮助开发者们提升面试技能、有机会入职阿里&#xff0c;云栖社区特别制作了这个专辑——阿里巴巴资深技术专家们结合多年的工作、面试经验总结提炼而成的面试真题这一次将陆续放出&#xff08;面试题官方参考答案将在专辑结束后统一汇总分享&#xff0c;点此进入答题并围观他…

android studio n3710,英特尔奔腾N3710性能跑分和评测 | ZMMOO

英特尔奔腾N3710 是针对入门级笔记本电脑&#xff0c;它的频率为1.1- 2.56 GHz。由于采用三栅极晶体管的新型14纳米低功耗工艺(P1273)&#xff0c;与其前代Bay Trail(例如奔腾 N3520)相比&#xff0c;能效得到了显着提升 。除了CPU内核之外&#xff0c;SoC还提供支持DirectX 11…

淘宝千万级并发架构的十四次演进

责编 | Carol来源 | 架构师技术联盟概述本文以淘宝作为例子&#xff0c;介绍从一百个到千万级并发情况下服务端的架构的演进过程&#xff0c;同时列举出每个演进阶段会遇到的相关技术&#xff0c;让大家对架构的演进有一个整体的认知&#xff0c;文章最后汇总了一些架构设计的原…

linux 15秒 搭建VSFTPD文件服务器

文章目录1. 在线安装2. 创建用户3. 限制用户活动范围4. 添加用户管制5. 关闭匿名访问6. 编辑一个安全文件7. 重新启动vsftpd8. 客户端测试9. 本机测试10. 再次本机测试1. 在线安装 yum install vsftpd2. 创建用户 useradd ftpuser passwd ftpuser3. 限制用户活动范围 vim vs…

阿里开源!轻量级深度学习端侧推理引擎 MNN

AI科学家贾扬清如此评价道&#xff1a;“与 Tensorflow、Caffe2 等同时覆盖训练和推理的通用框架相比&#xff0c;MNN 更注重在推理时的加速和优化&#xff0c;解决在模型部署的阶段的效率问题&#xff0c;从而在移动端更高效地实现模型背后的业务。这和服务器端 TensorRT 等推…

冰雪复古鸿蒙碎片哪里出,冰雪复古:玩法攻略,如何高爆率搞回收!

原标题&#xff1a;冰雪复古&#xff1a;玩法攻略&#xff0c;如何高爆率搞回收&#xff01;冰冻传说这个手游游戏刚内部测试的时候我就开始玩这个游戏了&#xff0c;第一方面这个游戏全部的装备都是靠打野怪获取的&#xff0c;这点很符合我的喜好&#xff0c;现在分享一些在个…

与时间赛跑:微盟的数据恢复为什么需要这么长时间?

作者| 茹炳晟 责编 | Carol 出品| CSDN云计算&#xff08;ID&#xff1a;CSDNcloud&#xff09; 微盟“删库跑路“事件已经过去好几天了&#xff0c;据悉&#xff0c;微盟的服务已经全部恢复&#xff0c;对于新用户&#xff0c;已经能够正常开始所有相关的业务活动了&#x…

linux shell读取配置文件中的内容

文章目录1. 创建conf文件夹2. 创建sftp_conn.conf文件3. 编写读取文件的脚本4. 赋予脚本可执行权限5. 执行脚本6. 获取的信息7. 利用这种方式 举一反三读取sftp服务器配置信息 1. 创建conf文件夹 mkdir conf2. 创建sftp_conn.conf文件 cd conf vim sftp_conn.conf 写入内容 格…