Я пытаюсь начать работу и в то же время правильно поддерживать стопку, чтобы пользователь мог использовать кнопку «Назад». Для этого я следую Google instructions, но я никуда не уйду. Когда я нажимаю кнопку, ничего не происходит (кроме журнала). Что мне нужно сделать, чтобы запустить следующий запуск?Начало деятельности с backstack
mBtnNext.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d(TAG, "click");
Intent intent = new Intent(ProfileSelectActivity.this, PermissionsRequestActivity.class);
PendingIntent pendingIntent =
TaskStackBuilder.create(ProfileSelectActivity.this)
// add all of DetailsActivity's parents to the stack,
// followed by DetailsActivity itself
.addNextIntentWithParentStack(intent)
.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder builder = new NotificationCompat.Builder(ProfileSelectActivity.this);
builder.setContentIntent(pendingIntent);
}
});
Мне кажется, что в конце отсутствует недостающая строка. Я пробовал startActivities();
, startActivity();
среди прочего, но я не увенчался успехом со всеми моими попытками.
Спасибо за любую помощь.
EDIT
Попытка реализовать ниже предложение от njzk2, но я до сих пор путают. Чтобы добавить startActivities()
в конец строки TaskStackBuilder, мне нужно удалить любое назначение в PendingIntent. Вероятно, это нормально. Однако, после того, как начнется следующее действие, если я нажму кнопку «Назад», я просто получу белый экран.
TaskStackBuilder.create(ProfileSelectActivity.this)
.addNextIntentWithParentStack(intent)
.startActivities();
Я также заметил, что мой onResume
метода в родительской активности не вызывается при возврате через кнопку назад, так что это может быть просто проблемой восстановления состояния ???
Существует противоречивая информация здесь. Вы говорите, что пытаетесь реализовать ** задний стек **, но затем укажите код для ** фактической кнопки **. Так что это? Вам нужен задний стек, который запускается, когда пользователи нажимают кнопку (жесткую или мягкую) на своем телефоне? Или вы пытаетесь реализовать некоторые действия, когда пользователи нажимают кнопку в вашем приложении? – iheanyi
Согласно документации, вам не нужно ничего делать для этого случая. Если вы запустите действие B с кнопки в действии A, нажатие назад автоматически вернет вас к действию A. – iheanyi
Вот что я думаю, но я просто получаю белый экран, когда я ударяю назад, поэтому я пытаюсь более явные меры. – Alex