您的位置:首页 > 移动开发 > Android开发

Android 无法获得 SCREEN_ON和SCREEN_OFF广播问题

2012-11-19 11:14 399 查看
转自:/article/10043008.html

这两个事件有点特殊,Recevier的注册必须写在代码里面,不能也在在Manifest.xml文件里面。也就是是必须用非常驻型注册。

这样就代理一个问题:当软件退出后,这个Recevier就不会工做了,也就不能接收到广播的事件了。

解决办法是:将注册那段代码放在一个Service里面去进行,这样只要Service不停止,这个Recevier就会一直工作。

注册代码如下:

[java]
view plaincopyprint?

ScreenOnBroadcastReciver sOnBroadcastReciver=new ScreenOnBroadcastReciver();

IntentFilter recevierFilter=new IntentFilter();

recevierFilter.addAction(Intent.ACTION_SCREEN_ON);
recevierFilter.addAction(Intent.ACTION_SCREEN_OFF);
registerReceiver(sOnBroadcastReciver, recevierFilter);

ScreenOnBroadcastReciver sOnBroadcastReciver=new ScreenOnBroadcastReciver();
IntentFilter recevierFilter=new IntentFilter();
recevierFilter.addAction(Intent.ACTION_SCREEN_ON);
recevierFilter.addAction(Intent.ACTION_SCREEN_OFF);
registerReceiver(sOnBroadcastReciver, recevierFilter);


上面说的这种情况,在Android里面还有一些。我目前只知道这两个广播。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐