[英]Partial wakelock does not work on android wear
我在表盘中收集加速度计数据,一旦设备进入环境模式,cpu就会进入睡眠状态。
我已经尝试在创建时添加了partial_wakelock,但它仍然不起作用,完整的唤醒锁定工作正常,但我希望使用环境模式(如保护中的烧伤)来工作。
有什么想法错了吗?
powerManager = (PowerManager) getSystemService(POWER_SERVICE);
//wl = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "awake");
wl = powerManager.newWakeLock((PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP), "MyWakelockTag");
注释行不起作用。
我在加速度计的注册中获取唤醒锁并将其释放到onDestroy。
这是一个非常令人沮丧的问题,我无法找出我做错了什么。
简而言之,这是正常的。 放松。
出于节省电池的原因,一些Android设备进入睡眠状态并禁用蓝牙模式。 为了变得活跃,我刚刚发现只有FULL_WAKE_LOCK有效。 可能是,我是机器人,但这是我的经验。 必须在Android OS首选项中禁用其他有助于节省电池的选项。
根据文档 ,您可以通过调用Context.getSystemService()
获取PowerManager
类的实例。
您可能想尝试使用此:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
代替
powerManager = (PowerManager) getSystemService(POWER_SERVICE);
除此之外,您不能将ACQUIRE_CAUSES_WAKEUP
和ON_AFTER_RELEASE
与PARTIAL_WAKE_LOCK
ON_AFTER_RELEASE
使用。
另请注意,使用WakeLock的任何应用程序都必须在应用程序清单的<uses-permission>
元素中请求android.permission.WAKE_LOCK
权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.