Android 解锁和锁屏广播必须手动用代码注册

733 阅读1分钟

对于解锁和锁屏这种用的比较频繁 action,谷歌做了限制,必须手动用代码注册。

如果还用下面的静态注册方式是不生效的。

 <receiver
            android:
            android:enabled="true"
            android:exported="false">
            <intent-filter>
                <action android: />
                <action android: />
                <action android: />
            </intent-filter>
        </receiver>

注册广播(手动代码注册广播接收者)

Intent intent=new Intent(this,UpdateService.class);
        startService(intent);

        mScreenLockReceiver = new ScreenLockReceiver();
        IntentFilter filter = new IntentFilter();
        //添加action
        filter.addAction("android.intent.action.SCREEN_OFF");
        //注册广播接收者
        this.registerReceiver(mScreenLockReceiver,filter);