Выход из приложения с использованием события Back Pressed - PullRequest
0 голосов
/ 10 июля 2019

Основным видом деятельности моего приложения является "LoginActivity".Если пользователь войдет в систему один раз, пропустит действие входа в систему и приложение будет открывать основную активность каждый разЯ хочу выйти из приложения с событием Back Back в Main Activity.Если я использую "finish ();"на главной активности мое приложение работает в фоновом режиме, я хочу закрыть приложение. Как я могу решить эту проблему.

LoginActivity:

    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(LoginActivity.this);
    boolean alreadysignIn = sharedPreferences.getBoolean("haveCurrUser", false);
    if (alreadysignIn) {

        GoToMainActivity();
    }


 private void GoToMainActivity() {

    //Using For by-pass to log in Activity.
    //Use for log out.
    SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    sharedPreferences.edit().putBoolean("haveCurrUser", true).apply();

    Intent intent = new Intent(LoginActivity.this, MainActivity.class);
    startActivity(intent);
    finish();
}

MainActivity:

private long backPressedTime;
....
@Override
public void onBackPressed() {
    if (backPressedTime + 2000 > System.currentTimeMillis()) {

        snackbar.dismiss();
        super.onBackPressed();
        finish();
    } else {

        snackbar = Snackbar.make(layoutMainContainer, getResources().getString(R.string.exit_info), Snackbar.LENGTH_SHORT);
        snackbar.show();
    }
    backPressedTime = System.currentTimeMillis();
}

Ответы [ 2 ]

0 голосов
/ 10 июля 2019

Основная активность используйте этот код

@Override
    public void onBackPressed() {
        super.onBackPressed();
        finishAffinity();
    }
0 голосов
/ 10 июля 2019

Вы можете использовать:

System.exit (0);

в вашем методе onBackPressed ().

Заменить отделку (); с System.exit (0);

Надеюсь, это ответ, который вы ищете.

System.exit (0)

ВМ останавливает дальнейшее выполнение, и ваша программа завершает работу.

...