android 监听手机屏幕唤醒和睡眠广播
2013-07-19 11:18
585 查看
最近做APP要做一个android 手机屏幕唤醒和睡眠的监听。
但发现下面问题:
我想获取调用屏幕打开时应用。在我 AndroidManifest.xml 已经指定:android.intent.action.SCREEN_ON 作为接收器的意图过滤器不起作用
解决方法:
需要动态注册:
ScreenStatusReceiverScreenStatusReceiverScreenStatusReceiver类
最后不要忘了取消注册:
但发现下面问题:
我想获取调用屏幕打开时应用。在我 AndroidManifest.xml 已经指定:android.intent.action.SCREEN_ON 作为接收器的意图过滤器不起作用
<receiver android:name="IntentReceiver"> <intent-filter> <action android:name="android.intent.action.SCREEN_ON"></action> </intent-filter> </receiver>
解决方法:
需要动态注册:
// 屏幕状态广播 ScreenStatusReceiver screenStatusReceiver; // 屏幕状态广播初始化 screenStatusReceiver = new ScreenStatusReceiver(); IntentFilter screenStatusIF = new IntentFilter(); screenStatusIF.addAction(Intent.ACTION_SCREEN_ON); screenStatusIF.addAction(Intent.ACTION_SCREEN_OFF); // 注册 registerReceiver(screenStatusReceiver, screenStatusIF);
ScreenStatusReceiverScreenStatusReceiverScreenStatusReceiver类
/** * 屏幕状态广播 * @author yuegy * */ class ScreenStatusReceiver extends BroadcastReceiver { String SCREEN_ON = "android.intent.action.SCREEN_ON"; String SCREEN_OFF = "android.intent.action.SCREEN_OFF"; @Override public void onReceive(Context context, Intent intent) { // 屏幕唤醒 if(SCREEN_ON.equals(intent.getAction())){ Log.e(TAG, SCREEN_ON); } // 屏幕休眠 else if(SCREEN_OFF.equals(intent.getAction())){ Log.e(TAG, SCREEN_OFF); } } }
最后不要忘了取消注册:
unregisterReceiver(screenStatusReceiver);
相关文章推荐
- android 获取手机屏幕状态(唤醒睡眠)
- Android 监听屏幕唤醒、关闭和解锁的广播
- Android 监听屏幕唤醒和关闭的广播
- android屏幕加解锁事件广播的监听
- [原] Android中监听手机链接数据线USB大容量存储的广播
- Android广播监听手机电量
- [Android] 使用广播接收器Braodcast Receiver 监听手机来电 去电 挂断的事
- Android 物理按键在屏幕灭的时候会唤醒手机修改
- android 用广播接受者监听手机网络状态
- android监听屏幕打开关闭广播无响应的情况
- android开发之手机屏幕状态的监听
- android屏幕加解锁事件广播的监听
- android屏幕加解锁事件广播的监听
- android中Tween动画的监听事件【实现小球在手机屏幕运动一圈】
- android_广播者_只能用代码注册(动态注册)的广播接收者_监听屏幕的状态
- Android手机屏幕变化监听
- android广播监听手机通话状态
- Android初级教程使用服务注册广播接收者监听手机解锁屏变化
- Android 接受广播唤醒屏幕
- Android手机使用广播监听手机收到的短信