Android监听解锁屏幕广播

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zqd1984309864/article/details/78194218

目的:用户解锁屏幕开启程序

public class ActionReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
            Intent intent1;
            if (LoginUtils.INSTANCE.isLogin()) {
                intent1 = new Intent(context, MainActivity.class);
            } else {
                intent1 = new Intent(context, LoginFragment.class);
            }
            intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(intent1);
    }

}


 首先创建一个接收器继承自BroadCastReceiver,重写onReceive方法,我再这首先判断了用户是否登录,登陆过就进入主界面,至于FLAG_ACTIVITY_NEW_TASK这个的意思就是,我们在广播中开启一个Activity的时候必须给intent(意图)设置Flag的,因为我们处在非Activity的环境中,大家都知道Activity存在于Activity栈中,所以我们在广播中开启一个Activity就需要一个新的任务栈容纳你要启动的Activity,这里指的是Mainactivity,如果所跳转的Activity所在的栈存在,会直接把这个栈移过来。最后不要忘了在清单文件注册 
 

<receiver android:name=".mvp.ui.broadcastreciver.ActionReceiver">
    <intent-filter android:priority="90002">
        <action android:name="android.intent.action.USER_PRESENT" />
    </intent-filter>
</receiver>


 
 

猜你喜欢

转载自blog.csdn.net/zqd1984309864/article/details/78194218