作者cooper6334 (小恐龙)
看板AndroidDev
标题[问题] 请问如何让程式唤醒萤幕
时间Fri Apr 15 15:10:26 2011
我现在在写一个闹钟的功能,闹钟执行正常,关掉萤幕也会执行
但是他并不会把萤幕打开,是我等时间到了把萤幕打开才看见它正在执行
我希望程式执行的时候能够自己把萤幕打开,就像内建的闹钟一样
我上网查了资料,本来以为是要用Intent.ACTION_SCREEN_ON 来处理
但是後来我才发觉,在我按下实体按键时
用registerReceiver设的BroadcastReceiver能收到萤幕开关讯息
但是我自己用PendingIntent.send()送的,他就收不到了
请问一下我该怎麽处理,是用PowerManager吗?或是WindowManager?
还是我intent那边搞不好设错了?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.251.86.94
※ 编辑: cooper6334 来自: 111.251.86.94 (04/15 15:11)
1F:推 gpc:不能发intent 要用wakelock 04/15 16:23
2F:→ cooper6334:所以是用PowerManager罗? 04/15 16:31
3F:→ Gway:你的观萤幕式就切电源而已吗? 还是有进入suspend to memory? 04/15 16:38
4F:→ cooper6334:就是按一下power键让萤幕变黑 04/15 16:42
5F:→ cooper6334:我现在用PowerManager.WakeLock.acquire() 04/15 16:44
6F:→ cooper6334:uses-permission 也有设了,可是还是没有反应 04/15 16:44
7F:→ cooper6334:我发觉lock以後我闹钟就不会等一等变暗了 04/15 16:48
8F:→ cooper6334:但是我希望的是app能主动打开萤幕 04/15 16:49
9F:→ cooper6334:喔而且内建的闹钟好像是绑在萤幕锁上的,一整个很神奇 04/15 20:42
10F:推 lausai:你有加上ACQUIRE_CAUSES_WAKEUP flag吗 @@? 04/15 22:01
11F:→ lausai:官网上写要加这个flag才会强迫screen亮起来 04/15 22:01
感谢楼上,就是这样
private PowerManager mPowerManager;
PowerManager pm = (PowerManager) getSystemService(this.POWER_SERVICE);
mWakeLock1 = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK |
PowerManager.ACQUIRE_CAUSES_WAKEUP,
this.getClass().getCanonicalName());
mWakeLock1.acquire();
这样执行到这边的话,手机就会自动打开了
不过会卡在萤幕锁那边进不来
手机内建的闹钟是绑在萤幕锁上的,应该不是app层能做的吧,也不是我想做的
※ 编辑: cooper6334 来自: 118.161.52.169 (04/15 22:47)