我有一个Android APP,有很多活动。
在我的应用程序的登录活动中,我在状态栏中启动一个通知图标,并在那里修复,直到我的应用程序停止。好的,它有效。
但是现在我还需要一件事,我需要用我的应用程序的服务以编程方式动态地改变图标。我该怎么做?
如何访问我的应用的通知图标,然后更改图标?
我希望通过代码示例来说明如何实现这一目标。
答案 0 :(得分:8)
只需使用新的notify()
在NotificationManager
上再次呼叫Notification
,但使用与第一个相同的唯一ID。它将替换现有Notification
的图标(如果用户清除了第一个Notification
,则显示新{{1}}。)
答案 1 :(得分:8)
您可以在通知上使用iconLevel: http://developer.android.com/guide/topics/ui/notifiers/notifications.html#More
在res / drawable / myicon.xml中创建一个具有不同级别(不同图标)的xml文件 http://developer.android.com/reference/android/graphics/drawable/LevelListDrawable.html
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:maxLevel="0" android:drawable="@drawable/ic_wifi_signal_1" />
<item android:maxLevel="1" android:drawable="@drawable/ic_wifi_signal_2" />
<item android:maxLevel="2" android:drawable="@drawable/ic_wifi_signal_3" />
</level-list>
并设置或(更新)级别:
Notification mNotification = new Notification(icon, tickerText, when);
mNotification.iconLevel = 1;
mNoticationManager.notify(NOTIFICATION_ID, mNotification);