2
以下代碼在Jelly Bean上正常工作 - 通知打開TimerActivity。 但是,在KitKat中,此代碼改爲打開MainActivity。這是一個錯誤?通知僅在KitKat上打開錯誤的活動
mBuilder = new NotificationCompat.Builder(getApplicationContext())
.setSmallIcon(ongoingNotificationIcon)
.setContentTitle(ongoingNotificationContentTitle)
.setContentText(ongoingNotificationContentText)
.setTicker(ongoingNotificationTicker)
.setPriority(99)
.setOngoing(true)
;
Intent resultIntent = new Intent(this, TimerActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(TimerActivity.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0,Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
mBuilder.setContentIntent(resultPendingIntent);
timerNotification = mBuilder.build();
startForeground(NOTIFICATION_ID, timerNotification);
我不不明白這一點。說解決方案是調用'getNotificationPendingIntent()。cancel();'但它說getNotificationPendingIntent()是未定義的。我也不知道如何設置該標誌。正如你可以猜到的,我是一個初學者。 – TimSim
如何設置標誌:http://developer.android.com/reference/android/support/v4/app/TaskStackBuilder.html#getPendingIntent%28int,%20int%29,正如您所看到的,TaskStackBuilder.getPendingIntent接受PendingIntent.FLAG_CANCEL_CURRENT爲一個標誌 – marcinj
我不確定這是否是您遇到的確切問題,無論如何您都會開啓一些活動。據我所知,這在重新安裝時發生,一些未決的意圖必須被緩存。 – marcinj