我正在尝试对状态栏中图标的状态进行一些控制。我希望能够执行以下操作:
- 保留图标
在状态栏中可见,只要
当应用程序运行时,即使用户选择清除状态栏。
- 清除状态栏中的图标
如果应用程序退出,即使(特别是)它被杀死?我意识到当应用程序显式退出时我可以将其删除,但我想确保如果应用程序被终止,它就会消失。我必须承认我还没有尝试过这个。
尽管我已经看到似乎正在执行此操作的应用程序,但我无法获得有关此的一些好的信息。
1)查看开发者文档页面状态栏通知。另请注意,您需要查看FLAG_NO_CLEAR常数,应该涵盖您的情况。
2)在应用程序被杀死的情况下,保留图标不一定是坏事,并且在某种程度上取决于应用程序的目的。特别是,如果您的应用程序进入后台然后被杀死,谷歌的一位工程师实际上已经注意到离开图标是预期的行为:
正确,onDestroy() 没有被调用
当它被杀死时。这是一样的
作为活动——内核杀死
在需要时进行处理,而不是等待
该应用程序。
状态栏正确保持
图标。该服务稍后将
重新启动;它并没有被阻止。
后台服务正常
定期被杀。这是
故意的,因为一般情况下
后台服务不是啥东西
用户直接意识到,并且
现在重新启动他们的进程
然后避免此类问题
服务消耗量不断增加
内存。
如果你的服务是用户喜欢的
实际上意识到(例如音乐
播放),考虑
Service.startForeground()。
话虽这么说,无论如何该图标可能应该消失。如果您使用任务管理器杀死其他具有持久图标的应用程序(例如 Meebo),它们将会被清除。不过,我不确定这是否在所有情况下都会发生。如果您的应用程序在后台被 OOM 杀死,那么您很可能无论如何都不想清除它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)