问题:在开发安卓设备时,接入扫码枪,在拔插扫码枪的时候系统会退出登陆。
解决方案:
<activity
android:name="com.zuipin.cashier.MainActivity"
android:configChanges="navigation|keyboardHidden|keyboard"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
android:configChanges=“xxx” 详解:
- 不设置Activity的android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次
- 设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次
- 设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法
VALUE DESCRIPTION
“mcc” 国际移动用户识别码所属国家代号是改变了----- sim被侦测到了,去更新mcc mcc是移动用户所属国家代号
“mnc” 国际移动用户识别码的移动网号码是改变了------ sim被侦测到了,去更新mnc MNC是移动网号码,最多由两位数字组成,用于识别移动用户所归属的移动通信网
“locale” 地址改变了-----用户选择了一个新的语言会显示出来
“touchscreen” 触摸屏是改变了------通常是不会发生的
“keyboard” 键盘发生了改变----例如用户用了外部的键盘
“keyboardHidden” 键盘的可用性发生了改变
“navigation” 导航发生了变化-----通常也不会发生
“screenLayout” 屏幕的显示发生了变化------不同的显示被激活
“fontScale” 字体比例发生了变化----选择了不同的全局字体
“uiMode” 用户的模式发生了变化
“orientation” 屏幕方向改变了
“screenSize” 屏幕大小改变了
“smallestScreenSize” 屏幕的物理大小改变了,如:连接到一个外部的屏幕上
ref:
android:configChanges=“orientation|keyboardHidden|navigation”
http://blog.sina.com.cn/s/blog_132cad9990102w25i.html
横竖屏切换时,禁止activity从新创建,android:configChanges=“keyboardHidden|orientation” 不起作用 - Android
http://www.myexception.cn/android/1643755.html
当Activity的launchMode设为singleTask的时候,你要注意了! - 蚂蚁的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/caiwenfeng_for_23/article/details/46918743
备注:
当时添加这段代码后,出现扫码无法识别问题。
原因是自己本地写了一个小票打印,连接设备打印完毕后,没有关闭连接,导致usb无法识别。
参考: https://blog.csdn.net/qq_24346137/article/details/81323791