này là không đúng! Khi bạn bắt đầu từ thông báo bạn phải tạo ngăn xếp khi xây dựng các thông báo như đã giải thích ở đây: http://developer.android.com/guide/topics/ui/notifiers/notifications.html#NotificationResponse
Do đó khi tạo thông báo bạn sẽ cần phải làm điều này:
Intent resultIntent = new Intent(this, ResultActivity.class);
// ResultActivity is the activity you'll land on, of course
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
// Adds the back stack
stackBuilder.addParentStack(ResultActivity.class);
// Adds the Intent to the top of the stack
// make sure that in the manifest ResultActivity has parent specified!!!
stackBuilder.addNextIntent(resultIntent);
// Gets a PendingIntent containing the entire back stack
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
và sau đó khi bạn bấm vào nút LÊN, bạn cần mã thông thường, đó là:
if (NavUtils.shouldUpRecreateTask(this, intent)) {
// This activity is NOT part of this app's task, so
// create a new task when navigating up, with a
// synthesized back stack.
TaskStackBuilder.create(this)
// Add all of this activity's parents to the back stack
.addNextIntentWithParentStack(intent)
// Navigate up to the closest parent
.startActivities();
} else {
NavUtils.navigateUpTo(this, intent);
}
Điều này làm việc hoàn hảo cho tôi.
Xin chào Clyde, có nênUpRecreateTask làm việc cho bạn trước khi đậu tương? Tôi luôn luôn nhận được giả trên giả lập, không có vấn đề nếu tôi giết chết ứng dụng của tôi ngay trước khi mở thông báo. – Maragues
Tôi thực sự gặp vấn đề tương tự. AFAIK, có vẻ như nó đã bị hỏng. –
Xem http://stackoverflow.com/questions/14602283/up-navigation-broken-on-jellybean – riwnodennyk