我看到一些应用程序实时更新通知内容。一个例子是倒计时应用程序。
单击+ ADD 1 MIN
按钮立即更改通知文本,不会有任何延迟。怎么做到的?或者换句话说,当用户单击按钮时,我如何实时更新通知?
最佳答案
我通常将aNotificationCompat.Builder
声明为成员变量。
然后可以使用该生成器在将来更新通知。
private NotificationCompat.Builder mBuilder = null;
public void refreshNotifications() {
if(mBuilder == null) {
mBuilder = new NotificationCompat.Builder(context);
mBuilder.setAutoCancel(false);
mBuilder.setOngoing(true);
mBuilder.setOnlyAlertOnce(true);
mBuilder.setVisibility(Notification.VISIBILITY_PRIVATE);
mBuilder.setSmallIcon(R.drawable.ic_launcher_notification_outline);
mBuilder.setOngoing(true);
mBuilder.setContentTitle(context.getString(R.string.downloading_file));
}
mBuilder.setContentText(context.getString(R.string.total_progress, percentProgress));
notificationManager.notify(DOWNLOADING_FILE, mBuilder.build());
}