首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WakeLock机制

WakeLock机制
EN

Stack Overflow用户
提问于 2012-12-30 14:59:03
回答 2查看 346关注 0票数 0

在我的应用程序中,有一个广播接收器,在特定时间通过RTC_WAKEUP报警呼叫。这个接收器首先获得一个部分锁,这样它就不会终止,然后检查一个条件,如果是真的,就启动一个活动,通过一个获得的完整锁和解锁键保护将电话完全打开。

经过一些测试和试验后,我发现广播接收器的生命周期在开始活动之前就结束了,并且一旦它结束,部分锁就被释放了。

  • 因此,我想知道,如果设备是睡眠,活动会启动,以便它可以获得完全锁定?
  • 或者,当广播接收器结束时,设备重新进入睡眠状态,活动的启动被推迟到它再次醒来时?
EN

回答 2

Stack Overflow用户

发布于 2012-12-30 15:14:45

  1. 如果要在BroadcastReceiver中启动活动,请不要忘记添加标志: FLAG_ACTIVITY_NEW_TASK 公共无效onReceive(上下文,意图i) {如果(检查条件){意向=新意图();onReceive intent.setClass(上下文,THE_ACTIVTY_YOU_WANT_TO_START.class);context.startActivity(意图);}
  2. 使用FULL_WAKE_LOCK强制打开屏幕,在onCreate()方法中添加下面的代码以执行so.pm = (PowerManager) getSystemService(Context.POWER_SERVICE);km = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);kl = km.newKeyguardLock("info");wl =PowerManager.FULL_WAKE_LOCK(x PowerManager.ACQUIRE_CAUSES_WAKEUP PowerManager.ON_AFTER_RELEASE,"info");kl.disableKeyguard();
票数 2
EN

Stack Overflow用户

发布于 2013-01-21 14:07:10

在浏览GCM手册时,我发现了以下章节:

intents

我认为当你还在WakeLock的时候,你必须得到它的支持。他们在他们的WakeLock中使用静态IntentService。

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

https://stackoverflow.com/questions/14091741

复制
相关文章

相似问题

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