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

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 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵