Power键 和 HOME键 广播监听的问题

来源:互联网 发布:为数据而生 周涛 pdf 编辑:程序博客网 时间:2024/04/30 16:01

代码:

怎么注册广播请看文章:点我呀.


情形:

我们在onReume 中注册广播监听home键和power键,在onPause中撤销广播注册。


问题:

此时你会发现,power键点击的广播将监听不到,而home键点击的广播就能正常监听到。


原因:

我们可以看看这时候的log输出

power键点击

onPause;

unregisterReceiver

onStop;


home键点击

onReceive

home is activity

onPause

unregisterReceiver

onStop


解释:

因为power键是点击在onPause后接收广播,而home键点击是在onPause前接收广播,而我们onPause中是撤销广播注册的操作,所以导致power键的点击

监听不到。


验证:

我们将onResume注册广播放到onCreate中,然后将onPause中的撤销广播删掉。可以测试log看见:

点击power键

onPause

onStop

onReceive

ACTION_SCREEN_OFF

所以正好验证了我们的猜想。

0 0
原创粉丝点击