我正在尝试在我的应用中显示通知... 我宣布一个示例文本作为标题和正文,以检查它是否正在运行。它是完美的。 然后,当我改变字符串值(标题,正文)。它没有更新,它仍然显示旧的示例文本。 我在互联网上搜索了解决方案。有人说添加flag_update_current会解决。 我做了,但没用。 这是代码..我用过。
public void Notify(){
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pi = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
String mbody = "Mode: General";
String title = "messager On";
Notification n = new Notification(R.drawable.ezmsgr,mbody,System.currentTimeMillis());
n.setLatestEventInfo(this, title, mbody, pi);
n.defaults = Notification.DEFAULT_LIGHTS;
n.flags = Notification.FLAG_ONGOING_EVENT;
nm1.notify(NID,n);
}
我也尝试将新值赋予通知的唯一ID。它没有更新。
答案 0 :(得分:0)
一些事情:
每次要更新通知的外观时,都需要再次致电notify()
。
您正在使用一堆弃用的API来构建通知。相反,您希望使用Notification.Builder,如:
Notification n = new Notification.Builder(this)
.setSmallIcon(R.drawable.ezmsgr)
.setContentTitle(title)
.setContentText(mbody)
.setContentIntent(pi)
.setDefaults(Notification.DEFAULT_LIGHTS)
.setOngoing(true) // ugh, why are you doing this?
.build();
nm.notify(NID, n);
每次要更新文本时再次呼叫notify()
。您可以重复使用相同的构建器或创建新构建器。