Android Wear - 如何(如果可能)让处理器在环境模式下保持清醒?

Android Wear - How (if possible) to keep processor awake in ambient mode?

随着 "always on" api 最近更新 android 磨损,我自然会尝试将其合并到我的健身应用程序中。在 android 开发者网站上做了一些大量阅读之后,似乎在环境模式下唤醒处理器的唯一方法是使用警报管理器。然而,这种方法不是很一致或准确。

1) 闹钟设置为唤醒处理器并在 3 秒后更改屏幕上的时间,它会在 5-10 秒之间跳动。

2) 大多数情况下,onEnterAmbient() 方法甚至在进入环境模式大约一分钟后才被调用(处理程序仍然 运行 并以正常频率更新屏幕)

3) 总的来说,如果有人知道在环境模式下将更新推送到屏幕的不同方法,那就太棒了! (主要是我认为还有另一种方法,因为在环境模式下,表盘能够每秒更新和显示动画)

您可以利用唤醒锁将处理器 运行 保持在环境模式:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "awake");
wl.acquire(30000);  // with 30s timeout or manually via wl.acquire() wl.release()

但是您必须考虑到增加的功耗,这在环境模式下不是个好主意。