分享

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

 岁月如风99 2015-11-23

转自:http://blog.csdn.net/huangliop/article/details/7290931

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

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


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

注册代码如下:

  1. ScreenOnBroadcastReciver sOnBroadcastReciver=new ScreenOnBroadcastReciver();
  2. IntentFilter recevierFilter=new IntentFilter();
  3. recevierFilter.addAction(Intent.ACTION_SCREEN_ON);
  4. recevierFilter.addAction(Intent.ACTION_SCREEN_OFF);
  5. registerReceiver(sOnBroadcastReciver, recevierFilter);
  1. ScreenOnBroadcastReciver sOnBroadcastReciver=new ScreenOnBroadcastReciver();  
  2. IntentFilter recevierFilter=new IntentFilter();  
  3. recevierFilter.addAction(Intent.ACTION_SCREEN_ON);  
  4. recevierFilter.addAction(Intent.ACTION_SCREEN_OFF);  
  5. registerReceiver(sOnBroadcastReciver, recevierFilter);  


 

上面说的这种情况,在Android里面还有一些。我目前只知道这两个广播。

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多