qq_37761523
2017-05-12 14:39
采纳率: 57.1%
浏览 2.3k

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条回答 默认 最新

  • woqi0025 2017-05-14 15:07
    已采纳

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

    点赞 打赏 评论

相关推荐 更多相似问题