如何从内存中删除即时广播?

问题描述 投票:0回答:2

我正在从服务中发送即时广播,并且在一项活动中收到了即时广播。我使用以下代码发送广播:

Intent i = new Intent();
i.setAction("presence");
i.putExtra("name",xmlContactName);
i.putExtra("fullname", xmlContactName.split("@")[0]);
i.putExtra("presence", presence);

sendStickyBroadcast(i);

我使用此代码来接收我的活动中的广播:

receiver = new BroadcastReceiver() {
  @Override
  public void onReceive(Context context, Intent intent) {
    String action = intent.getAction();
    if(action.equalsIgnoreCase("presence")){
      Contact c = new Contact();
      Bundle contact = intent.getExtras();
      c.name = contact.getString("name");
      c.fullName = contact.getString("fullname");
      c.presence = contact.getString("presence");

      removeStickyBroadcast(intent);
    }
  };
}

根据几篇文章,我发现这是我所需要做的,而且据我所知,在我的应用程序仍在运行时,该意图没有再次发送给活动。但是,当我关闭该应用程序并再次运行它时,即使没有从服务中发送它,我也可以在活动中获得广播。好像广播仍然在某个地方徘徊,并且在重新启动应用程序后再次收到了广播。到目前为止,我发现摆脱它的唯一一件事就是重启手机。我还将在活动的onDestroy()中取消注册接收者。我需要做些什么来完全删除广播,还是必须学习与之共存?

java android broadcast
2个回答
1
投票

即使您的应用消失了,转播仍然会持续。摆脱它们的唯一可靠方法是通过电话重启。您无法手动使其自行消失。这是粘性广播的预期行为。它应该坚持下去,以便任何注册自己以接收此广播的应用都应接收广播的最新缓存版本,即使原始应用已死也已消失。如果您想要的东西不具有这种行为,那么只需使用常规广播即可。

进一步阅读:


0
投票

[您赢得了我的重新启动,所以下载的系统可以解开,并且可以让Baba loo Bop掉到头顶上,或者我是十几岁的人。最喜欢的库兹他有一个鼻屎收集器随机检查1 2 3麦克风检查1 2 3https://accounts.google.com/signin/v2/challenge/pwd?client_id = 717762328687-iludtf96g1hinl76e4lc1b9a82g457nn.apps.googleusercontent.com&as = FtgjJNKQQd235 3A%2F%2Fstackauth.com&approval_state = ChRXZGhucUg1RElIc1ZyR2k1Q0FqNBIfb3dSZkh5N3dGRUFZd0ktM2lWMU9TaWQzWldoaUJSYw∙AJDr988AAAAAXkye8r-2OxM3_PFmWPmRD-PqbufFrncu&oauthgdpr = 1&xsrfsig = ChkAeAh8T3M9yTqhlRAxgH5TErZaAhOX - !GrEg5hcHByb3ZhbF9zdGF0ZRILZGVzdGluYXRpb24SBXNvYWN1Eg9vYXV0aHJpc2t5c2NvcGU&flowName = GeneralOAuthFlow&TL = APDPHBDS7jpMHMJTga3R12-RH-PAppdoBM2S6F8-RxArwddE8WnjU1Cn我敢肯定,你永远无法用那东西打我从来没有永远因为我从未见过一个如此荒谬的网址在我整个短短的生命中都是漫长而可疑的,我有一次看过这部电影吗?我想告诉你的是,这是关于一个人正走在森林中的圈子中,而他一直在尖叫着帮助别人并被困在森林中不会让我离开,树木是卑鄙的,他们也告诉所有人我疯了,但我真的应该像教授一样获得报酬,因为他保持了如此遥遥领先的未来。未来确实需要像我这样的智力,所以我可以教书他如何在马利筋上打猎和咀嚼,而任何炸鸡都坐在前廊上

© www.soinside.com 2019 - 2024. All rights reserved.