繁体   English   中英

部分唤醒锁不能用于安装

[英]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_WAKEUPON_AFTER_RELEASEPARTIAL_WAKE_LOCK ON_AFTER_RELEASE使用。

另请注意,使用WakeLock的任何应用程序都必须在应用程序清单的<uses-permission>元素中请求android.permission.WAKE_LOCK权限。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM