Я пытаюсь использовать TaskStackBuilder с уведомлениями, чтобы создать задний стек для кнопки "Назад", чтобы пройти. Обычный поток моего приложения:
- Действие A запускается из запуска.
- Пользователь выбирает элемент из A, который запускает B с дополнительными функциями для загрузки.
- Пользователь выбирает элемент из B, это запускает C с дополнительными функциями для загрузки.
Иногда, после обновления фона, когда пользователь не использует мое приложение, я генерирую уведомление. Если они нажмут это уведомление, он запустит Activity C, пропустив A и B. Я пытаюсь следовать инструкциям по дизайну и создавать задний стек, поэтому, когда они отжимают его, он переходит в Activity B вместо главного экрана. Моя проблема заключается в том, что для действия B требуется дополнительное в своем запуске намерение рассказать, что нужно извлечь из базы данных.
Мой текущий код TaskStackBuilder:
TaskStackBuilder sBuilder = TaskStackBuilder.create( this );
sBuilder.addParentStack( ActivityC.class );
sBuilder.addNextIntent( launchIntent );
pIntent = sBuilder.getPendingIntent( 0, PendingIntent.FLAG_ONE_SHOT );
Нажатие на уведомление запускает Activity C очень хорошо, но когда я нажимаю его, он взрывается с помощью IllegalArgumentException
из моего ContentProvider, потому что Activity B не знает, какой идентификатор требуется запросить. Есть ли способ получить эту дополнительную информацию в задний стек или я застрял?