0

我正在尝试编写一个像 Moto 360 这样的床头钟,在充电时显示夜间时间。因此,我根据https://developer.android.com/training/wearables/apps/always-on.html#BackwardCompatibility设置了一个带有警报管理器的“Always-On-App”,它基本上可以按预期工作(Android 7.1. 1 “全警戒柴油机”上的可穿戴活动)。
然而,在桌子上静止几分钟后,手表会离开环境模式(我在夜间的首选模式)并关闭屏幕。

我已经尝试过根据Android Wear 使用唤醒锁:测量传感器并防止环境模式/睡眠,但没有成功。处理器可能仍在工作,但一段时间后屏幕变黑(调试非常麻烦,因为您总是必须等待并且无法在模拟器上重现,而模拟器永远不会关闭)。

那么如何防止手表离开环境模式到“关闭”方向,或者至少检测到该状态并将其重新打开?

4

1 回答 1

0

您的手表可能已ro.ambient.plugged_timeout_min设置为正值(请参阅此处的 reddit 帖子)。它旨在保护 OLED 屏幕免于烧毁。如果您运行adb shell dumpsys alarm,您会看到一个唤醒警报com.google.android.wearable.ambient,该操作com.google.android.wearable.action.STOP_AMBIENT_DREAM会在上述超时后关闭屏幕/打盹设备。

我最好的猜测是,为了防止它进入环境,你需要要么

  • 阻止它完全进入环境,即拿着一个SCREEN_DIM_WAKELOCK或类似的,并使用一个完全黑色的背景。
  • 定期唤醒屏幕,以便重置超时。如果它是一个夜间时钟,这可能不是最理想的。
于 2017-10-26T07:17:27.847 回答