2

Я пытаюсь начать работу и в то же время правильно поддерживать стопку, чтобы пользователь мог использовать кнопку «Назад». Для этого я следую 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 метода в родительской активности не вызывается при возврате через кнопку назад, так что это может быть просто проблемой восстановления состояния ???

+0

Существует противоречивая информация здесь. Вы говорите, что пытаетесь реализовать ** задний стек **, но затем укажите код для ** фактической кнопки **. Так что это? Вам нужен задний стек, который запускается, когда пользователи нажимают кнопку (жесткую или мягкую) на своем телефоне? Или вы пытаетесь реализовать некоторые действия, когда пользователи нажимают кнопку в вашем приложении? – iheanyi

+0

Согласно документации, вам не нужно ничего делать для этого случая. Если вы запустите действие B с кнопки в действии A, нажатие назад автоматически вернет вас к действию A. – iheanyi

+0

Вот что я думаю, но я просто получаю белый экран, когда я ударяю назад, поэтому я пытаюсь более явные меры. – Alex

ответ

5

Что вы делаете, это создание (не отображение) уведомления. (Как уведомление строитель предлагает.)

Что вам нужно сделать, это, как указано в док, чтобы позвонить startActivities():

TaskStackBuilder.create(ProfileSelectActivity.this) 
     .addNextIntentWithParentStack(intent) 
     .startActivities(); 
+0

Спасибо. Я все еще не увенчался успехом, как сейчас, когда начинается следующее действие, кнопка «Назад» просто приводит к белым экранам. – Alex

+0

, и вы уверены, что 'PermissionsRequestActivity' работает правильно? есть ли у вас какая-либо ошибка, какой-либо журнал? – njzk2

+0

Это действительно было проблемой. См. Мой «ответ» выше. Большое спасибо за Вашу помощь. – Alex

Смежные вопросы