如何在Honeycomb +设备的Android通知中显示时间戳?

时间:2012-05-17 22:52:49

标签: android android-layout

我想在Android通知中显示时间戳,就像Android Design Guidelines suggest.一样(请参阅第一个快照,“12:03 PM”就是我想要的!)。

我尝试了许多不同的方法,我认为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());

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

来自this链接

  

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

     

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

通知右侧的大文字应该是您想要投入时间的地方。

同样来自同一个链接:

  

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

     

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

表示setWhen仅对通知进行排序,并且不设置任何文本。