android屏幕加解锁事件广播的监听
2012-11-19 20:03:04 来源:WEB开发网核心提示:想在程序中监听屏幕SCREEN_ON和SCREEN_OFF这两个action,实现屏幕锁定状态的监听,从而实现自己的相应功能,android屏幕加解锁事件广播的监听,比较奇怪的是这两个action只能通过代码的形式注册才能被监听到,在AndroidManifest.xml中注册根本监听不到,去网上查了一下,原来是Pow
想在程序中监听屏幕SCREEN_ON和SCREEN_OFF这两个action,实现屏幕锁定状态的监听,从而实现自己的相应功能。比较奇怪的是这两个action只能通过代码的形式注册才能被监听到,在AndroidManifest.xml中注册根本监听不到。去网上查了一下,原来是PowerManager那边在发这个广播的时候做了限制,限制只有register到代码中的receiver才能接收。特此记录!
public class ScreenActionReceiver extends BroadcastReceiver { private String TAG = "ScreenActionReceiver"; private boolean isRegisterReceiver = false; @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); if (action.equals(Intent.ACTION_SCREEN_ON)) { Logcat.d(TAG, "屏幕解锁广播..."); } else if (action.equals(Intent.ACTION_SCREEN_OFF)) { Logcat.d(TAG, "屏幕加锁广播..."); } } public void registerScreenActionReceiver(Context mContext) { if (!isRegisterReceiver) { isRegisterReceiver = true; IntentFilter filter = new IntentFilter(); filter.addAction(Intent.ACTION_SCREEN_OFF); filter.addAction(Intent.ACTION_SCREEN_ON); Logcat.d(TAG, "注册屏幕解锁、加锁广播接收者..."); mContext.registerReceiver(ScreenActionReceiver.this, filter); } } public void unRegisterScreenActionReceiver(Context mContext) { if (isRegisterReceiver) { isRegisterReceiver = false; Logcat.d(TAG, "注销屏幕解锁、加锁广播接收者..."); mContext.unregisterReceiver(ScreenActionReceiver.this); } } }
- ››Android 当修改一些代码时,使用什么编译命令可以最...
- ››Android 如何添加一个apk使模拟器和真机都编译进去...
- ››Android 修改Camera拍照的默认保存路径
- ››Android 如何修改默认输入法
- ››android开发中finish()和System.exit(0)的区别
- ››Android手势识别简单封装类
- ››android中查看项目数字证书的两种方法
- ››Android中获取IMEI码的办法
- ››android 相机报错 setParameters failed
- ››Android重启运用程序的代码
- ››Android为ListView的Item设置不同的布局
- ››android bitmap与base64字符串的互相转换
赞助商链接