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

今天我在AndroidManifest.xml中配置SCREEN_ON与SCREEN_OFF来监听屏幕点亮与熄灭,但是发现没有任何反应,后面在stackoverflow上找到了一篇文章(忘记记录地址了),后面解决的方法是必须代码中注册广播。

这两个事件有点特殊,Recevier的注册必须写在代码里面,不能也在在Manifest.xml文件里面。也就是是必须用非常驻型注册,但是这样就会遇到一个问题不能常驻,这里我们可以使用Service,将注册那段代码放在一个Service里面去进行,这样只要Service不停止,这个Recevier就会一直工作。

注册代码如下:

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

根据多年的经验,上面的应该只是一部分广播,我目前只知道这两个广播,如有其它欢迎留言交流。

猜你喜欢

转载自blog.csdn.net/bobxie520/article/details/114646228
今日推荐