概述
场景: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 蓝牙扫描枪连接状态变化(连接、断开)界面实屏幕会实时刷新重构一次所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复