我认为您无法更改通知上的图片,但您可以创建多个通知并根据需要调用它们。可能有更好的答案,但这应该足够了。
创建和销毁通知的方法
private NotificationManager notificationManager;
/* Params:
* int imageResourceId: The resource image to set
* String titleText: the title of the notification
* String statusText: the subtitle of the notification
*/
public void createNotification(int imageResourceId, String titleText, String statusText)
{
Notification notification = new Notification(imageResourceId, titleText, System.currentTimeMillis());
notificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
notification.flags |= Notification.FLAG_ONGOING_EVENT;
notification.setLatestEventInfo(mContext, titleText, statusText, null);
notificationManager.notify(1, notification);
}
/* Destroys all notifications */
public void destroyNotification()
{
if (notificationManager != null)
notificationManager.cancelAll();
}
好的,这包括创建和删除通知,你如何改变它以适应不同的电池百分比?很简单,像这样取决于您的图像资源。
使用示例
if (batteryPercentage > 85)
{
destroyNotification();
createNotification(R.drawable.highBatteryIcon, "Good Battery", "85-100%");
}
else if (batteryPercentage <= 85)
{
destroyNotification();
createNotification(R.drawable.lowBatteryIcon, "OK Battery", "0-85%");
}
将所有图像放在可绘制文件夹中,并根据需要为所有百分比等修改代码。但这就是我个人的做法。
此外,您可以通过更新通知的 latestEventInfo 并重新通知 notificationManager 来显示动态百分比等内容,但您可以享受这种乐趣;)