我是一個強大的通知部門的應用程序的開發人員。我最近升級到運行Android 4.0.3的HTC One X,並注意到我之前運行Android 2.1的手機從未注意過的問題。發佈通知顯示日期「星期四,1970年1月1日」過了一段時間
我的應用程序發佈的通知沒有設置日期,並且我以前的電話通知中從未顯示日期。在我的新手機上,當發佈通知時,日期不會出現,但過了一段時間後,「星期四,1970年1月1日」的日期出現,我不明白爲什麼。
當我說「過一會兒」時,我並不是說你一直盯着屏幕幾秒鐘/分鐘,看到日期出現。我的意思是在使用手機一段時間後,放下它,再次使用它,無論如何,最終,我的應用發佈的所有通知都會有該日期。
我已經看到過這種情況發生了幾次,但是我無法找到一個模式並理解這種情況,看看我能否找到修復。有沒有人有任何想法,爲什麼這可能會發生在ICS上?
我也不是多麼相關,但還有我postNotification
方法的整個代碼:
NotificationCompat.Builder builder = new NotificationCompat.Builder(mContext);
Intent intent = NoteEditorSingleActivity.createIntent(mContext);
intent.putExtra(AgendaNotesAdapter.KEY_ROW_ID, notifyId);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
builder.setContentIntent(PendingIntent.getActivity(mContext, (int)notifyId, intent,
PendingIntent.FLAG_CANCEL_CURRENT));
builder.setContentTitle(noteTitle);
builder.setContentText(noteDescription);
builder.setSmallIcon(iconId);
builder.setTicker(noteTitle.length() > 0 ? noteTitle : null);
builder.setWhen(0);
Notification notification = builder.getNotification();
long noteSortOrder = Build.VERSION.SDK_INT >= Build.VERSION_CODES.GINGERBREAD ? 1 : -1;
notification.flags = Notification.FLAG_NO_CLEAR;
notification.when = noteSortOrder * notifyId;
mNotificationManager.notify((int)notifyId, notification);
我知道我通過改變與建築商,併爲不同的值設置when
爲0 when
值直接在notification
對象中。我不記得我最初爲什麼這麼做,但是這是有原因的。
我不明白的是,在調用notify()
方法並查看狀態欄中的通知之後,沒有日期。爲什麼在使用手機一段時間後會出現。
這就是我想知道和解決的問題。
這是值得評論午夜上午1970年1月1日,UTC(格林威治標準時間)是與時間= 0相關的日期。 – djconnel