在程序中想要接收手机锁屏时候发出的广播,这个广播有点特别,在AndroidManifest.xml中注册广播时没办法监听的,所以需要在程序中用带代码注册:
public class LockScreen extends BroadcastReceiver {
private static final StringTAG = "LockScreen";
private booleanisRes=false;
@Override
public void onReceive(Context context, Intent intent) {
Log.i(TAG,"锁屏广播...");
}
//注册锁屏广播
public void registerReceiver(Context context){
if(!isRes){
IntentFilter filter=new IntentFilter (Intent.ACTION_SCREEN_OFF);
context.registerReceiver(LockScreen.this, filter);
isRes=true;
}
}
//反注册广播
public void unRegisterReceiver(Context context){
if(isRes){
context.unregisterReceiver(LockScreen.this);
isRes=false;
}
}
}
写好这个类之后,在AndroidManifest.xml中声明下这个广播接收者,然后再需要的地方调用这个类中的registerReceiver(Context context)方法就能实现广播的注册,调用unRegisterReceiver(Contextcontext)就可以反注册这个广播了。