qq_37761523 2017-05-12 14:39 采纳率: 57.1%
浏览 2355
已采纳

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掉后,广播是不会在发送到你的这个接收者上了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器