广播的基本使用 锁屏 解锁

广播的基本使用 锁屏 解锁

public class ScreenBroadcastReceiver extends BroadcastReceiver {
    private String action = null;
    @Override
    public void onReceive(Context context, Intent intent) {
        action = intent.getAction();
        if(intent.ACTION_SCREEN_ON.equals(action)){
            Log.d(TAG, "-------------:" +"亮屏");
        }else if (Intent.ACTION_SCREEN_OFF.equals(action)){     //锁屏操作
            Log.d(TAG, "-------------:" +"锁屏操作");
        }else if (Intent.ACTION_USER_PRESENT.equals(action)) {      //解锁操作
            Log.d(TAG, "-------------:" +"解锁操作");
        }
    }
}


在需要使用的地方比如说 MainActivity

添加广播
IntentFilter filter = new IntentFilter();
        // 屏幕灭屏广播
        filter.addAction(Intent.ACTION_SCREEN_OFF);
        // 屏幕亮屏广播
        filter.addAction(Intent.ACTION_SCREEN_ON);
        // 屏幕解锁广播
        filter.addAction(Intent.ACTION_USER_PRESENT);
		//取到上面广播类的实例
		ScreenBroadcastReceiver screenBroadcastReceiver = new ScreenBroadcastReceiver();
		//动态注册广播  (必须添加)
        registerReceiver(screenBroadcastReceiver, filter);

// 屏幕灭屏广播
filter.addAction(Intent.ACTION_SCREEN_OFF);
// 屏幕亮屏广播
filter.addAction(Intent.ACTION_SCREEN_ON);

这两个广播能动态注册 (动态注册就在java代码中注册)

// 屏幕解锁广播
filter.addAction(Intent.ACTION_USER_PRESENT);

可以静态注册(静态注册:在AndroidManifest.xml 中注册)

<receiver android:name=".ScreenBroadcastReceiver">
            <intent-filter>
                <action android:name="android.intent.action.USER_PRESENT"/>
            </intent-filter>
        </receiver>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值