控制android状态栏图标

控制android状态栏图标,android,statusbar,Android,Statusbar,我试图对状态栏中图标的状态进行一些控制。我希望能够做到以下几点: 保留图标 在状态栏中可见,只要 当应用程序运行时,即使用户选择清除状态栏 从状态栏中清除图标 如果应用程序退出,即使(特别是)它被杀死?我意识到我可以在应用程序明确退出时删除它,但我想确保如果应用程序被终止,它会消失。我得承认我还没有试过 我还没有得到一些关于这方面的好信息,尽管我看到过一些应用程序似乎正在这样做。1)看看上的开发者文档页面。还请注意,您需要查看常量,它应该涵盖您的条件 2) 在应用程序被终止的情况下,保留图标并不

我试图对状态栏中图标的状态进行一些控制。我希望能够做到以下几点:

  • 保留图标 在状态栏中可见,只要 当应用程序运行时,即使用户选择清除状态栏
  • 从状态栏中清除图标 如果应用程序退出,即使(特别是)它被杀死?我意识到我可以在应用程序明确退出时删除它,但我想确保如果应用程序被终止,它会消失。我得承认我还没有试过
  • 我还没有得到一些关于这方面的好信息,尽管我看到过一些应用程序似乎正在这样做。

    1)看看上的开发者文档页面。还请注意,您需要查看常量,它应该涵盖您的条件

    2) 在应用程序被终止的情况下,保留图标并不一定是一件坏事,这在某种程度上取决于应用程序的用途。特别是,如果你的应用程序进入后台然后被杀死

    正确,未调用onDestroy() 当它被杀死的时候。这是一样的 作为活动——内核杀死 在需要时处理,而不是等待 应用程序

    状态栏正确地保持 图标。这项服务将于稍后提供 重新启动;它还没有停止

    后台服务是正常的 经常被杀。这是 故意的,因为一般来说 后台服务不是什么 用户直接知道,以及 现在就重新启动他们的进程 然后就避免了这样的问题 消费量不断增加的服务 公羊

    如果你的服务对用户来说很重要 实际上意识到(例如音乐) 回放),考虑 Service.startForeground()

    尽管如此,图标还是应该消失。如果你用任务管理器杀死其他具有持久图标的应用程序(我想到的是Meebo),它们将被清除。不过,我不确定这是否在所有情况下都会发生。如果你的应用程序在后台被OOM杀死,那么你很可能无论如何都不想清除它

  • 图标会自动删除(至少在我强制关闭手机上的应用程序时)

  • FLAG_NO_CLEAR按预期工作,我本该抓到的,谢谢!由于某些原因,在我关闭应用程序时,状态栏没有清除。基本上,我希望状态栏图标指示应用程序是否正在实际运行,因此我希望它能够清除应用程序是否因任何原因而停止。当然,onDestroy()我会清除它,但当应用程序被关闭或强制关闭时,它会持续存在。我不确定其他应用程序如何处理这个问题,因为当应用程序被强制关闭或崩溃时,
    onDestroy()不会被调用。不过,这是一个在邮件列表中出现过的话题。也许可以先看看这里: