采用动态注册广播的方式对灭屏和亮屏进行监听
1.创建receiver
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())) {
//屏幕亮做xxx操作
} else if (SCREEN_OFF.equals(intent.getAction())) {
//屏幕暗做xxx操作
}
}
}
2.使用receiver
private ScreenStatusReceiver mScreenStatusReceiver;
在onCreate或onResume中使用
private void registSreenStatusReceiver() {
mScreenStatusReceiver = new ScreenStatusReceiver();
IntentFilter screenStatusIF = new IntentFilter();
screenStatusIF.addAction(Intent.ACTION_SCREEN_ON);
screenStatusIF.addAction(Intent.ACTION_SCREEN_OFF);
registerReceiver(mScreenStatusReceiver, screenStatusIF);
}
在onDestroy或onPause中取消监听
unregisterReceiver(mScreenStatusReceiver);
参考:


创建ScreenStatusReceiver类继承BroadcastReceiver,监听ACTION_SCREEN_ON和ACTION_SCREEN_OFF意图。在活动的onCreate或onResume中注册接收器,在onDestroy或onPause中注销。这样能实现对设备屏幕状态变化的监听。
1476

被折叠的 条评论
为什么被折叠?



