美文网首页
监听开屏、锁屏广播问题

监听开屏、锁屏广播问题

作者: 小相柳 | 来源:发表于2017-07-17 15:07 被阅读158次

    最近做项目,需要监听开屏、锁屏(待机)的广播,发现这里还是有一些坑的。
    开屏、锁屏需要监听的广播分别是:ACTION_SCREEN_ON ACTION_SCREEN_OFF。但是在写完广播接收者,然后在配置文件中声明后,发现根本比起作用。

    后来发现,这两个事件有点特殊,Recevier的注册必须写在代码里面,不能也在在Manifest.xml文件里面。也就是是必须用非常驻型注册。
    这样就又有一个问题:当软件退出后,这个Recevier就不会工做了,也就不能接收到广播的事件了。
    解决办法是:将注册那段代码放在一个Service里面去进行,这样只要Service不停止,这个Recevier就会一直工作。

    注册代码如下:
    ScreenReciver mReciver=new ScreenReciver ();
    IntentFilter recevierFilter=new IntentFilter();
    recevierFilter.addAction(Intent.ACTION_SCREEN_ON);
    recevierFilter.addAction(Intent.ACTION_SCREEN_OFF);
    registerReceiver(mReciver, recevierFilter);

    相关文章

      网友评论

          本文标题:监听开屏、锁屏广播问题

          本文链接:https://www.haomeiwen.com/subject/ekafkxtx.html