Android开发中接收锁屏广播失败的问题

在程序中想要接收手机锁屏时候发出的广播,这个广播有点特别,在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)就可以反注册这个广播了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值