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

阅读全文
0 0
原创粉丝点击