Создайте PendingIntent с задним стеком - PullRequest
0 голосов
/ 27 мая 2018

У меня есть три действия (Домой, Поиск, Назначение), с помощью которых я мог бы описать свой поток UX.Домашняя активность - это моя активность, связанная с запуском, а затем поисковая активность, которая, как оказалось, является родительской для цели.Поэтому в основном я пытаюсь добиться уведомления, которое запускает действие «Назначение», а затем, когда я нажимаю кнопку «Назад», я должен вернуться к операции «Поиск», а затем в «Домой», но проблема в том, что, как только янажмите кнопку «Назад» из действия «Назначение», весь стек переходит в фоновый режим ...

В моем файле манифеста я определил родительское действие для каждого дочернего действия, как описано здесь https://developer.android.com/training/notify-user/navigation

Вот так выглядит мой код при построении ожидающего намерения:

 // Create an explicit content Intent that starts the main Activity.
 Intent notificationIntent = new Intent(this, DestinationActivity.class);
 notificationIntent.putExtra("test", destination);

 //Intent testIntent = new Intent(this, SearchActivity.class);

 notificationIntent.putExtra(DestinationAdapter.DESTINATION, destination);    
 // notificationIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | 
                                Intent.FLAG_ACTIVITY_CLEAR_TASK);

 // Construct a task stack.
 TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);

 // Push the content Intent onto the stack.
 //stackBuilder.addNextIntentWithParentStack(testIntent);
 stackBuilder.addNextIntentWithParentStack(notificationIntent);

 // Get a PendingIntent containing the entire back stack.
 PendingIntent notificationPendingIntent =
            stackBuilder.getPendingIntent(0, 
            PendingIntent.FLAG_UPDATE_CURRENT);

Не могли бы вы помочь мне немного?Я делаю что-то неправильно?

1 Ответ

0 голосов
/ 08 мая 2019

ваш код должен работать, как описано здесь: https://developer.android.com/training/notify-user/navigation#java

убедитесь, что вы указали родительскую активность в манифесте, где это уместно:

    <activity
        android:name=".DetailActivity"
        android:parentActivityName=".MainActivity"
...