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

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

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

 <receiver
            android:name=".receiver.ScreenLockReceiver"
            android:enabled="true"
            android:exported="false">
            <intent-filter>
                <action android:name="android.intent.action.SCREEN_OFF" />
                <action android:name="android.intent.action.SCREEN_ON" />
                <action android:name="android.intent.action.ACTION_USER_PRESENT" />
            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);

你可能感兴趣的:(Android开发)