我有一个 Wear OS 应用程序,自最初的 Android Wear 以来一直运行良好;即使在 Wear OS 4 三星手表上也是如此。问题出在新的 OnePlus Watch 2 上,它是 Wear OS 4 设备,但进行了一些更大的更改以改善电池(这很棒:))
一旦我关闭应用程序的
Activity
并且手表转动屏幕,它就会强制停止我的应用程序并在 LogCat 中记录日志:
ActivityManager system_server Force stopping <my package name> ....
ActivityManager system_server Killing 31668: <my package name> ....
CarrierSvcBindHelper com.android.phone onHandleForceStop: [<my package name>]
ActivityManager system_server Got obituary of 31668:<my package name>
之后,通过
setExactAndAllowWhileIdle()
和 setAlarmClock()
安排的所有预定闹钟都将从待处理警报中删除 - 通过 adb shell dumpsys alarm
检查,不再显示我的闹钟。
如果我只是最小化活动,那么警报将保持预定状态,一切都会按预期工作(用
adb shell dumpsys alarm
确认)。这是 Wear OS 4/Android 13 中的新行为还是 OnePlus Watch 2 中的错误?如何在这款手表上可靠地安排闹钟?
我在 OnePlus Watch 2 上也有完全相同的行为。 我还注意到,如果手表处于睡眠模式或免打扰模式,则闹钟(如果应用程序最小化)将不会响起。
我正在做一些测试,但我可以说,使用预安装的时钟应用程序一切看起来都很好,使用其他一些时钟应用程序则存在您正在谈论的问题。
即我已经安装了 Google 时钟应用程序,但它没有按预期工作