【问题标题】:Acquire wake lock, release it and acquire it again while the phone is sleeping获取唤醒锁,在手机休眠时释放并再次获取
【发布时间】:2014-04-25 05:17:19
【问题描述】:

我认为这几乎是其他 SO 问题中已经描述的标准案例,但我仍然需要澄清这个问题:

所以我有一个带有 Activity 和 Service 的 Android 应用。活动不是感兴趣的,而是服务。服务必须分钟向远程服务器发送一些消息。据我了解,我需要使用 WakeLocks 来保持 CPU 运行,同时让屏幕熄灭(这样我就可以解决屏幕断电时服务停止的问题)。到目前为止一切顺利。

我的问题是:我可以获取锁,将消息发送到服务器,释放锁并在一分钟后再次获取它,以便在这一分钟暂停期间 CPU 也处于睡眠状态。以节省电池为最终目标。我担心答案是否定的,因为一旦你让 CPU 进入睡眠状态,你就无法唤醒它,除非从较低级别(操作系统而不是应用程序)。

最好的问候

【问题讨论】:

    标签: android android-service wakelock android-wake-lock


    【解决方案1】:

    回答很简单:不。在这种情况下,您可以设置一个 PendingIntent 并使用 Android 警报管理器每分钟唤醒一次。

    【讨论】:

      【解决方案2】:

      警报管理器是可行的方法 - 但您还需要将警报接收器委托给 WakefulIntentService 来完成工作(因为接收器将在 5 秒后 ANR)。链接见PowerManager.PARTIAL_WAKE_LOCK android

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-29
        相关资源
        最近更新 更多