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

一加Watch 2锁屏后强制停止应用并清除调度Alarm问题求助

Wear OS应用在一加Watch 2上的Alarm调度问题分析与解决

问题背景

我的Wear OS应用从初代Android Wear起运行正常,甚至在Wear OS 4的三星手表上也无异常,但在搭载Wear OS 4、主打续航优化的一加Watch 2上出现异常:关闭应用Activity且手表锁屏后,应用被强制停止,LogCat日志如下:

ActivityManager system_server Force stopping ....
ActivityManager system_server Killing 31668: ....
CarrierSvcBindHelper com.android.phone onHandleForceStop: []
ActivityManager system_server Got obituary of 31668:

此后通过setExactAndAllowWhileIdle()和setAlarmClock()调度的所有Alarm均被移除,经adb shell dumpsys alarm确认已无我的Alarm;仅最小化Activity时,Alarm能正常保留。

问题定性

这是一加Watch 2为提升续航定制的激进后台清理策略,而非Wear OS 4/Android 13的通用特性——同版本的三星手表未出现该问题,Android 13/Wear OS 4的原生后台限制不会在用户正常关闭Activity后直接强制停止应用并清除Alarm,这类操作属于厂商自定义的续航优化逻辑。

可靠调度Alarm的解决方案

  • 申请电池优化白名单权限:在AndroidManifest中添加权限声明:
    <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/>
    
    然后在应用内引导用户手动将应用加入电池优化白名单(一加手表的「电池优化」或「后台活动限制」设置模块中)。
  • 改用WorkManager调度任务:Google推荐的WorkManager API对厂商后台清理策略兼容性更好,使用OneTimeWorkRequest或PeriodicWorkRequest,配合setExpedited()标记为紧急任务,能确保任务在多数定制系统中可靠执行。
  • 绑定前台服务:若应用需持续后台能力,可启动前台服务(Wear OS支持低优先级静默通知),避免应用被系统强制停止。需在AndroidManifest中声明权限:
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
    
  • 配置一加专属后台权限:检查一加手表的「智能后台」「深度睡眠」等设置,将应用设置为「允许后台活动」,关闭「智能管控」或「禁止后台」选项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 06:22:39