随着android wear最近更新的新添加的"always on" api,我自然想把它纳入我的健身应用程序。在android开发者的网站上做了大量的阅读之后,似乎在环境模式下唤醒处理器的唯一方法就是使用闹钟管理器。然而,这种方法不是非常一致或准确。
1)设置闹钟,每3秒唤醒处理器,屏幕上的时间改变,在5-10秒之间跳动。
2)大多数情况下,onEnterAmbient()方法直到进入ambient模式大约一分钟后才被调用(处理程序仍在运行并以正常频率更新屏幕)
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()
但是你必须考虑到增加的电力使用,这在环境模式下不是一个好主意。