Android 开发板接入外接USB键盘App重启问题

当在Android 9.0项目中插入特定USB无线鼠标时,应用会重启。原因是键鼠套装的无线收发器会产生键盘设备,导致配置变化。通过分析日志和配置`android:configChanges`,可以解决Activity因键盘设备导致的重启问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于插入部分无线鼠标Android应用重启问题

前言

Android 9.0的项目中,测试工程师验证问题时插入某些USB的无线鼠标,会导致当前的APK会销毁然后重启一次,重新走一次生命周期。

Activity为啥会重启?

为什么会重启?

我们大概率的知道,一般App重启大致有如下原因:

  1. APP异常了(微信存在这样的问题,闪退重启)

机器状态改变了(比如改变语言),导致Activity重启了

不过,由于日志中没有异常日志,因此考虑后面一种情况。

下面是在《插入无线鼠标Android应用重启问题》

后面发现插入有问题的USB无线收发器,会生成2个设备,一个鼠标和一个键盘。没错,这是键鼠套装一体的无线收发器,正是这个键盘导致出现了现在的这个现象,而有些无线鼠标的无线收发器不是键鼠套装,所有只会有1个鼠标设备,所以插上去没有问题。

这里更加肯定了我的猜想[机器状态改变了(比如改变语音),导致Activity重启了]。

特意打印了一下Activity的生命周期的日志,发现Activity被销毁,然后重新启动了。

Android文档中有如下说明(前面《AndroidManifest.xml的configChanges配置简介》中也讲解过)

如果我们AndroidManifest.xml中的Activity中的android:c

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值