Как я могу redireccionar в другой activity, после возвращаясь из сбоя экрана или другого app?

У меня есть простой app с login, что желание состоит в том, чтобы в "x" число activies, когда пользователь изменит приложение или был блокирован экран, возвратившись к app возвратилось к activity в специфическом средстве (login). Например: Я нахожусь в app в activity "A" и в методе onStart () или вернув видимость activity "В", но только, если он приходит из сбоя экрана или возвращает передний план app послал меня activity "B" (login) и не "A".

Спасибо заранее.

2
задан 30.03.2016, 02:30
1 ответ

Мне приходит в голову эта, которую он разрабатывает, что она самая простая, обнаруживая, когда экран был блокирован:

Мы добавляем переменную, чтобы санкционировать, если был блокирован экран и другая, чтобы санкционировать, когда я меняю приложение:

 private boolean seBloqueoPantalla;
 private boolean cambioAplicacion;

внутри onPause() мы меняем стоимость переменной seBloqueoPantalla в "true", если мы обнаруживаем сбой экрана:

@Override
protected void onPause() {
    PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
    boolean isScreenOn = powerManager.isScreenOn();
    if (!isScreenOn) {
        Log.i(TAG, "La pantalla ha sido bloqueada");
        seBloqueoPantalla = true;
    }
    super.onPause();
}

и посредством метода onStop() мы меняем стоимость переменной cambioAplicacion в "true", если мы обнаруживаем, что мы изменяем приложение:

   @Override
    protected void onStop() {
        cambioAplicacion = true;
        super.onStop();
    }

Посредством метода onResume() возможно реализовывать intent в активность "login", в зависимости от состояния переменной seBloqueoPantalla и cambioAplicacion :

@Override
protected void onResume() {
    if(seBloqueoPantalla && cambioAplicacion) {
        //Redirecciona a la actividad Login!.
        Intent myIntent = new Intent(this, LoginActivity.class);
        startActivity(myIntent);
        //reiniciamos valores.
        seBloqueoPantalla = false; 
        cambioAplicacion = false;
    }
    super.onResume();
}
1
ответ дан 24.11.2019, 14:40
  • 1
    Превосходный, функционируй очень хорошо, когда блокируется экран, но в случае, когда я изменяю app и возвращаюсь, как я могу обнаруживать это? – Michael Emir 30.03.2016, 16:06
  • 2
    @MichaelEmirReynosaBeltran я издал мой ответ, привет! – Jorgesys♦ 31.03.2016, 04:18
  • 3
    Функционируй даже только размещать глобальную переменную " cambioAplicaci и # 243; n" и помещать ее в true в onStop (), но например возвратившись с bot и # 243; n физик tambi и # 233; n он включается и уходит в " LoginActivity" если был способ знать, что activity пара и # 243; porq я меняю aplicaci и # 243; n или блокируется серьезный гениальный экран. – Michael Emir 31.03.2016, 07:43
  • 4
    То, в чем я нуждаюсь, является немного экспертом и # 237; как " clearTaskOnLaunch" но я не понимаю, потому что оно я не функционирует. Что, когда пользователь выйдет из app из-за A или B мотив, возвратившись, привел меня в Login и не в экран где qued и # 243;. Привет. developer.android.com/intl/es/guide/topics/manifest/… – Michael Emir 31.03.2016, 11:31