ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

控制android状态栏图标

2019-05-18 21:16:08  阅读:185  来源: 互联网

标签:android statusbar


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

>保留图标
在状态栏中可见,只要很长时间
当应用程序正在运行时,即使用户选择清除状态栏.
>从状态栏中清除图标
如果应用程序退出,甚至(特别是)如果它被杀死了?我明白我可以在明确退出应用程序时删除它,但我想确保它在应用程序被杀死时消失.我不得不承认我还没试过.

我还没有得到一些关于这方面的好消息,虽然我看过似乎正在做这个的应用程序.

解决方法:

1)在status bar notifications上查看开发人员文档页面.另请注意,您需要查看FLAG_NO_CLEAR常量,这应该涵盖您的情况.

2)在应用程序被杀的情况下保持图标不一定是坏事,并且在某种程度上取决于应用程序的目的.特别是,如果你的应用程序进入后台然后被杀,leaving the icon has actually been noted to be expected behavior by one of Google’s engineers

Correct, onDestroy() is not called
when it is killed. This is the same
as activity — the kernel kills
processes when needed, not waiting for
the app.

The status bar is correctly keeping
the icon. The service will later be
restarted; it has not been stopped.

It is normal for background services
to be killed regularly. This is
intentional, because generally
background services are not something
the user is directly aware of, and
restarting their processes every now
and then avoids issues with such
services consuming increasing amounts
of RAM.

If your service is something the user
is actually aware of (such as music
playback), consider
Service.startForeground().

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

标签:android,statusbar
来源: https://codeday.me/bug/20190518/1129587.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有