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

android监听屏幕打开关闭广播无响应的情况

2014-08-18 16:50 609 查看
android在屏幕打开和关闭的时候会发出广播,但是如果receiver配置在AndroidManifest.xml中时,receiver是接受不到任何广播的。

<receiver android:name="cn.abcd.listener.ScreenStateReceiver" >
<intent-filter>
<action android:name="android.intent.action.SCREEN_OFF" />
<action android:name="android.intent.action.SCREEN_ON" />
</intent-filter>
</receiver>


只能在代码中用context 去regist 这个receiver

BroadcastReceiver receiver = new ScreenStateReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_SCREEN_ON);
App.context.registerReceiver(receiver, filter);


略坑的是,android developer上面居然没有直接说明。

简单查了下原因,大概是源码中发送这两个广播时设置了Intent.FLAG_RECEIVER_REGISTERED_ONLY这个flag。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: