场景:使用蓝牙扫描枪连接安卓设备,用于扫描条码。
问题:连接和断开扫描枪时,屏幕都会刷新,造成临时加载的数据丢失。
原因:
扫描枪连接时是将其作为物理输入设备,即物理键盘,而安卓在改变屏幕方向、弹出隐藏键盘时都会重新执行onCreate( )方法。
解决方案:
使用onConfigurationChanged()方法拦截处理。
在清单配置文件,为activity添加android:configChanges属性,属性内容为需要捕获的事件,事件之间用”|”符号分开,事件对应代码可查询文档,eg:android:configChanges=”keyboardHidden”。
在activity中重写onConfigurationChanged()方法。