Android 蓝牙扫描枪连接状态变化(连接、断开)界面实屏幕会实时刷新重构一次
来源:互联网 发布:小幽灵网络技术论坛 编辑:程序博客网 时间:2024/05/18 00:32
场景:Android设备连接蓝牙扫描枪,扫描条形码,获取扫描内容,进行支付,支付成功后到达成功界面,在onCreate()方法中初始化打印小票。
问题:停留在支付成功界面,蓝牙状态发生变化(断开--连接--断开),小票重新打印。
原因分析:
扫描枪连接时是将其作为物理输入设备,即物理键盘,而安卓在改变屏幕方向、弹出隐藏键盘时都会重新执行onCreate( )方法。
解决方案:
在相应的Activity中重写onConfigurationChanged(Configuration newConfig)方法,同时在AndroidManifest.xml相应的Activity下配置android:configChanges="keyboardHidden|orientation|navigation|screenSize|keyboard"
因为确如原因分析中所述的那样,蓝牙扫描枪连接时是作为外接物理输入设备的形式接入的,因此,在清单文件中必须添加keyboard属性内容,该属性就是监控键盘模式发生变化而专门设定的,除此之外,还要添加权限
<uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />
到此,就可以完美解决因蓝牙扫描枪连接状态变化而导致Activity界面重构的问题了。
本文参考:
http://blog.csdn.net/ivinm/article/details/50817220
http://blog.csdn.net/xiaodongvtion/article/details/6799386
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1106/516.html
- Android 蓝牙扫描枪连接状态变化(连接、断开)界面实屏幕会实时刷新重构一次
- Android连接、断开蓝牙扫描枪时屏幕刷新
- Android 通过注册广播,实时监听网络连接与断开状态的变化
- Android 注册广播,实时监听网络连接与断开状态变化
- 连接和断开扫描枪时,屏幕都会刷新,造成临时加载的数据丢失
- android 获取蓝牙连接断开连接事件
- 【Android开发 蓝牙连接状态】Android实时检测蓝牙连接状态
- 【Android开发 蓝牙连接状态】Android实时检测蓝牙连接状态
- Android 实时监测(监听)网络连接状态变化
- Android 实时监测(监听)网络连接状态变化
- Android 实时监测(监听)网络连接状态变化
- Android 实时监测(监听)网络连接状态变化
- Android蓝牙扫描和连接!
- nrf51822 断开蓝牙连接
- Android IM(五)连接断开重连
- android设备连接蓝牙扫描枪获取数据
- 连接或断开蓝牙键盘时,手机会重新搜索蓝牙设备
- android 蓝牙断开连接时,APP反应慢的问题
- STM32 USB Audio 音量调节修改
- Spring框架由ConditionalOnMissingBean注解引发的问题
- K-临近算法介绍和实践
- duilib在点击关闭按钮调用CoUninitialize在WIN10下出现异常
- 面试中的那些 Git 问题
- Android 蓝牙扫描枪连接状态变化(连接、断开)界面实屏幕会实时刷新重构一次
- centos07 关闭防火墙指令
- div显示关闭图标
- Kubernetes(K8S)集群管理Docker容器(部署篇)
- Servlet的doGet 和doPost方法的区别
- jbpm基础知识
- Java 内部类innerclasses
- linux mkdir函数使用
- 双硬盘安装双系统(win10+ubuntu14.04)