3

我想在 Android 通知中显示时间戳,就像Android 设计指南建议的那样。(见第一个快照,“12:03PM”是我想要的!)。

我尝试了许多不同的方法,我认为setWhen会这样做,但它似乎只会影响通知托盘中的排序。知道如何实现吗?

请参阅下面的代码:

  Notification.Builder builder = new Notification.Builder(context);
  builder.setContentIntent(pendingIntent)
    .setSmallIcon(R.drawable.ic_notify)
    .setLargeIcon(largeIcon)
    .setTicker(text)
    .setNumber(unreadCount)
    .setWhen((new Date()).getTime())
    .setAutoCancel(true)
    .setContentTitle(title)
    .setContentText(text)
    .setDefaults(Notification.DEFAULT_VIBRATE);

notificationManager.notify(NOTIFICATION_ID, builder.getNotification());

我不想为通知使用自定义布局。

4

2 回答 2

1

我想我自己找到了答案,when似乎只在 Android 4.0 上显示。3及以后。我妻子的 Nexus S (4.0.3) 显示它,我刚刚升级到 4.0。4在我的 Galaxy Nexus 上,它神奇地开始工作!

它还显示在旧版本(例如 2.3)上,但不显示在 4.0 上。2

于 2012-05-19T14:37:31.190 回答
0

使用setContentInfo并将您的日期作为字符串传递给它。

这个链接

public Notification.Builder setContentInfo (CharSequence info) 自:API 级别 11

在通知的右侧设置大文本。

通知右侧的大文本应该是您想要放置时间的地方。

也来自同一个链接:

public Notification.Builder setWhen (long when) 自:API 级别 11

设置事件发生的时间。面板中的通知按此时间排序。

这意味着setWhen只对通知进行排序,不设置任何文本。

于 2012-05-17T23:18:37.693 回答