我有一个Android通知,每隔几分钟就会更新一次。
首先,我创建了一个Builder
:
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(context);
然后,当我第一次展示它并且每次更新它时,我都使用此代码:
mBuilder.setContentTitle("Title");
mBuilder.setContentText("Text");
NotificationManager manager = (NotificationManager)
context.getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(0, mBuilder.build());
但是在通知的右上角,Android仍会显示首次向用户显示的时间。我希望显示上次更新的时间。我知道这是可能的,因为Facebook的Messenger应用程序会这样做 - 更改发送新邮件时的显示时间。
我怎样才能做到这一点?
目前:
答案 0 :(得分:8)
你可能正在寻找NotificationCompat.Builder#setWhen(long)
。使用System.currentTimeMillis()
提供它应该将时间戳更新为当前时间。
此外,如果您希望该时间戳显示在Android N或更高版本上,则需要在某个时刻调用NotificationCompat.Builder#setShowWhen(true)
,因为它默认为false。
来源:https://developer.android.com/reference/android/app/Notification.html#when
答案 1 :(得分:0)
您可以使用以下代码显示时间
val notificationBuilder = NotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(title)
.setContentText(body)
.setColor(resources.getColor(R.color.colorPrimary))
.setAutoCancel(true)
.setSound(soundUri)
.setContentIntent(pendingIntent)
.setWhen(System.currentTimeMillis())