首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android BroadcastReceiver等待服务启动或传输WakeLock到服务?

Android BroadcastReceiver等待服务启动或传输WakeLock到服务?
EN

Stack Overflow用户
提问于 2010-07-23 21:41:00
回答 1查看 1.7K关注 0票数 0
  1. BroadcastReceiver接收一个广播,打开一个唤醒,启动一个Service
  2. Service打开另一个唤醒,然后发送一个“释放唤醒”broadcast
  3. BroadcastReceiver接收发布的觉醒广播,释放它的wakelock
  4. Service做它的事情,释放它的唤醒

不过有个问题。目前,BroadcastReceiver将其WakeLock存储为成员变量。有时候,垃圾收集器会在BroadcastReceiver启动服务之后运行,但在它接收发布wakelock广播之前运行,然后我得到一个强制关闭,因为唤醒在发布之前已经完成了(因为它被垃圾收集了)。

因此,我需要在onReceive方法中执行以下操作之一:

necessary

  • or,

  • 等待服务启动,等待它建立其唤醒,然后释放BroadcastReceiver唤醒;“发布唤醒”广播将不再是以某种方式将该唤醒发送到该服务,然后该服务将负责释放单个唤醒

哪一个是更好的选择,我将如何完成它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-07-23 22:21:43

使用静态WakeLock。更好的是,使用我的WakefulIntentService,它封装了整个模式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3322608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档