1. 两种方案
(1) 监听BroadcastReceiver
(2)获取PowerManager事件
2. BroadcastReceiver
2.1. 事件
总共有3个事件:
Intent.ACTION_SCREEN_ON : 屏幕点亮
Intent.ACTION_SCREEN_OFF :屏幕关闭
Intent.ACTION_USER_PRESENT: 用户解锁
2.2. 权限
监听用户解锁需要在AndroidManifest中注册权限
2.3. IntentFilter代码
if (mContext != null) {
IntentFilter filter = new IntentFilter();
filter.addAction(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
filter.addAction(Intent.ACTION_USER_PRESENT);
mContext.registerReceiver(mScreenReceiver, filter);
}
3. PowerManager
PowerManager manager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);
if (manager.isScreenOn()) {
if (mScreenStateListener != null) {
mScreenStateListener.onSc