android应用进程在后台被清理掉后无法接收broadcast

想尝试写一个应用,在开机、解锁等操作后通过广播接收器开启一个服务,可当应用正常开启时广播可正常接收,但进程被后台清理后接收不到广播,可是静态注册的广播不是在进程被杀死后也可以接收的吗,还是与启动的服务也有关系吗?求解

 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
        <receiver
            android:name=".BootReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter android:priority="1000">
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.intent.action.MEDIA_MOUNTED" />
                <action android:name="android.intent.action.USER_PRESENT" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </receiver>
 public class BootReceiver extends BroadcastReceiver {
    Intent tuiintent=new Intent();

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i("onreceive","onreceive");
        tuiintent.setAction("android.intent.action.USER_PRESENT");
        tuiintent.setPackage("com.example.notitest");
        context.startService(tuiintent);
    }
}

1个回答

android3.1以上的版本,google给iintent添加一个标记具体是啥不记得了,这样当你的应用程序别kill掉后,广播是不会在发送到你的这个接收者上了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐