import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class ScreenBroadcastReceiver extends BroadcastReceiver {
private static final String TAG = "ScreenBroadcastReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Log.i(context.getClass().getSimpleName(), intent.getAction());
if(Intent.ACTION_USER_PRESENT.equals(intent.getAction())){ // 解锁时
}else if(Intent.ACTION_SCREEN_OFF.equals(intent.getAction())){ // 锁屏时
}
}
}
只能在代码中通过动态方式注册锁屏监听,不能通过AndroidManifest.xml配置注册锁屏监听。
在根Activity的onCreate方法中添加注册:
// 注册锁屏,解锁接收广播
receiver = new ScreenBroadcastReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(Intent.ACTION_SCREEN_OFF);
//intentFilter.addAction(Intent.ACTION_USER_PRESENT);
//注册广播
registerReceiver(receiver, intentFilter);
在根Activity的onDestroy方法中注销监听:
@Override
protected void onDestroy() {
super.onDestroy();
// 注销锁屏接收
unregisterReceiver(receiver);
}