我是WakeLock的新手,需要您的帮助。

问题:

  • 我假设WakeLock是某种类型的锁,当执行代码持有该锁时,它可以防止设备进入休眠状态。如果设备已经处于 sleep /待机模式,该代码将执行吗?假设它永远不会获得WakeLock?
  • 当在后台线程(AsyncTask)中执行了长时间运行的任务(大约7-8秒)时,我应该为持有WakeLock烦恼吗? AsyncTask是否已经为我获取了它?
  • 到官方文档的
  • 链接以及唤醒锁上的编写均受到赞赏。

  • 谢谢。

    最佳答案

    1.如果电话处于完全 sleep 模式,则除了来电之外,还可以使用AlarmManager Intent 将电话唤醒。

    AlarmManager类文档中:



    2.如果您正在使用AsyncTask,则需要将结果发布到 onPostExecute() 上的UI线程上

    AsyncTask文档中:



    3.我建议您阅读Power Manager的官方文档,其中对WakeLock概念进行了很好的介绍。

    10-08 00:24