2016-02-09 2 views
0

У меня есть приложение с активностью и несколькими фрагментами. Один из фрагментов - это фрагмент входа, в котором пользователь вводит свой пароль для продолжения.Android загружает определенный фрагмент, когда приложение возобновляет

Как я могу достигнуть того пользователь:

1) не будет иметь возможность backpress и добраться до этого фрагмента после успешного входа в систему.

2) Когда приложение возобновляет и возвращается на передний план, этот фрагмент загружается и снова запрашивает у пользователя пароль.

+1

Итак, вы хотите заставить пользователя войти в систему, даже если он использует кнопку «Главная» для выхода из вашего приложения? – hardartcore

+0

Я не уверен в этом, но, возможно, да. Первое требование более важно прямо сейчас. –

+0

Вы пытались закрыть операцию после вызова логина? И просто сбросьте флаг входа после того, как пользователь выйдет из приложения, нажав клавишу «домой» или «назад». – SanVed

ответ

0

В зависимости от того, что, если ваше приложение использует только один MainActivity и Fragments или имеет много Activities и Fragments решение будет отличаться, но предположим, что у вас есть один Activity и много других Fragments самый простой способ будет после успешного входа в систему, просто не добавляйте LoginFragment в историю вашего приложения Fragment (backStack). И в вашем MainActivity'sonPause() или onDestroy() вы должны войти в систему. Текущий пользователь и заставьте его войти снова после того, как он откроет ваш MainActivity.

Это должно сделать трюк для вас.

+0

Не уверен, что я понимаю, как сделать эту часть: «И в вашей onApension() или onDestroy() вашего MainActivity вы должны зарегистрировать своего текущего пользователя и снова войти в него после того, как он откроет вашу MainActivity». –

+1

Это зависит от вашего кода, как вы выходите из системы? – hardartcore

0

использование статической переменной для выполнения условных операций

для например

статического Int х = 0;

в YOUT деятельности onResume или в OnCreate, как вы хотите управлять

 if(x==0) 
     { 
      x=1; 
      your fragment 1 
     } 
    else if(x==1) 
    {  x=0; 
      your fragment 2 
    } 

, и вы сделали.

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