我不确定为什么当我显示通知时右上角有一些1/4/70日期显示?那是什么?我该如何摆脱它?
代码:
public static void showNotification(int id, String message, String title, String body)
{
int drawable = 0;
switch (id)
{
case NOTIFICATION_NEW_MAIL:
drawable = R.drawable.ic_notify_mail;
break;
case NOTIFICATION_AVAILABLE_TRIPS:
drawable = R.drawable.ic_notify_trip;
break;
}
NotificationManager notifyManager = (NotificationManager)MyApplication.Me.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(drawable, message, SystemClock.elapsedRealtime() + 1000);
notification.defaults |= Notification.DEFAULT_SOUND;
Intent notificationIntent= new Intent(MyApplication.Me, MailListActivity.class);
switch (id)
{
case NOTIFICATION_NEW_MAIL:
notificationIntent = new Intent(MyApplication.Me, MailListActivity.class);
break;
case NOTIFICATION_AVAILABLE_TRIPS:
notificationIntent = new Intent(MyApplication.Me, TripListActivity.class);
break;
}
PendingIntent contentIntent = PendingIntent.getActivity(MyApplication.Me, 0, notificationIntent, 0);
notification.setLatestEventInfo(MyApplication.Me, title, body, contentIntent);
notifyManager.notify(id, notification);
}
截图:
答案 0 :(得分:0)
什么是SystemClock的事情?使用System.currentTimeMillis()或System.nanoTime()?
有什么问题另外,尝试编写一个toClock()函数,将其转换为12hr / 24hr格式的时间字符串。再次,当我回到办公室时,星期一更多(样本代码可用)。
答案 1 :(得分:0)
该通知构造函数显然已被弃用,但无论如何,该构造函数中的最后一个参数何时应该在unix时间内引用通知的创建时间。 SystemClock.getEllapsed time返回自系统引导以来的时间http://developer.android.com/reference/android/os/SystemClock.html。例如。在你的情况下,你说的是通知是最近创建的,但是在unix时间你说你真的接近1970年。使用System.getCurrentTimeMillis()代替。
编辑:接近1970年,我的意思是Unix时间是从1970年开始以毫秒为单位测量的。所以如果你说0ms你说的是1月1日。如果你传递86,400,000毫秒(一天ms)你就是1970年1月2日。通过传递启动后经过的时间,它可能会报告你从1970年1月1日开始的一两天。见http://en.wikipedia.org/wiki/Unix_time答案 2 :(得分:0)
我认为你的意思是:
Calendar canlender = Calendar.getInstance();
canlender.setTimeInMillis(System.currentTimeMillis());
canlender.add(Calendar.MILLISECOND, 1000);
long TimeInMillised = canlender.getTimeInMillis();
Notification notification = new Notification(drawable, message, TimeInMillised);
试试吧!