You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部分国产ROM设备插拔充电线时Android Activity自动重启问题求助

根因分析

插拔充电线会触发Android系统uiMode配置项变更,原生系统逻辑下如果应用未在Activity的configChanges属性中声明处理该变更,系统会默认销毁并重建Activity。部分国产ROM对uiMode变更的触发逻辑做了定制调整,触发阈值比原生AOSP、三星等国际厂商ROM更低,因此仅在特定设备上出现该问题。
你当前的Activity配置中仅声明了处理orientation|screenSize变更,未覆盖uiMode,因此会触发重建逻辑。

解决方案

优先推荐以下修改方式,兼容性最好:
在所有Activity的Manifest配置中,给android:configChanges追加uiMode参数,修改后示例如下:

<activity
    android:name=".Screen.ChatScreen"
    android:configChanges="orientation|screenSize|uiMode"
    android:theme="@style/AppTheme.AppBarOverlay"
    android:windowSoftInputMode="stateAlwaysHidden|adjustResize" />

追加后系统会将uiMode变更交由应用自行处理,不会再主动销毁重建Activity。如果你的业务不需要针对充电状态切换做特殊UI调整,无需额外实现onConfigurationChanged回调逻辑即可正常运行。

异常兼容

如果添加uiMode参数后仍有个别设备复现问题,可以再追加keyboard|keyboardHidden|navigation参数到android:configChanges中,部分深度定制的ROM在插拔充电线时会误触发键盘、导航栏相关的配置变更通知,追加参数后即可解决。


内容的提问来源于stack exchange,提问作者famfamfam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 11:06:03