【发布时间】:2014-11-11 06:36:16
【问题描述】:
当 Android Wear 进入睡眠模式(屏幕变暗)时,我的部分代码不会执行。我在后台使用 Timer 来触发一些动作,比如从 Wear 发送数据到手机,但是数据没有发送出去。当我点击屏幕唤醒它时发送它。
我也尝试使用计时器在屏幕关闭时触发带有振动的通知,但直到我点击屏幕时它才会出现。
在调试模式(蓝牙或 USB)下,数据发送和通知工作正常。
我怀疑这是因为当 Android Wear 处于睡眠模式时,它的 CPU 工作在最低水平,因为 Timer 仍在运行,但不适用于 GoogleApiClient、IntentService 或 Notification。
我尝试了多种唤醒 CPU 的方法,例如 AlarmManager、PowerManager、Wakelock,但它不适用于 Android Wear。
有人遇到过这个问题吗?解决办法是什么?
【问题讨论】:
-
您能否提供更多详细信息,说明您究竟是如何尝试保持设备唤醒的?
-
试过 ACQUIRE_CAUSES_WAKEUP?
-
任何消息,我也在寻找类似的东西,但找不到任何解决方案。
-
我找到了一个使用 AlarmManager 和 AlarmManager.ELAPSED_REALTIME_WAKEUP 发送广播的解决方案。在 onReceive 中启动通知或向手机发送数据。无需使用唤醒锁。注意:AlarmManager.RTC_WAKEUP 不适用于我的情况。
-
报警管理器和 WakefulBroadcastReceiver 的解决方案似乎是正确的。你在这里有一个具体的例子:github.com/AlexKorovyansky/WearPomodoro
标签: android alarmmanager sleep wear-os wakelock