Как правильно закрыть приложение? - PullRequest
0 голосов
/ 18 февраля 2019

Я застрял, выходя из моего приложения для Android.В моем приложении у меня есть основное действие, которое вызывается первым, и пользовательское меню, которое запускается так:

Intent myIntent = new Intent(MainActivity.this, UserMainpage.class);
    startActivity(myIntent);
finish();
System.exit(0);

Я создал прослушиватель событий на странице UserMain, чтобы узнать, была ли нажата кнопка возврата.

@Override
public void onBackPressed(){
    if(backcounter >= 1){
        *code to close app*
    }else{
        Toast.makeText(this, getResources().getString(R.string.EXIT_APPLICATION), Toast.LENGTH_LONG).show();
        backcounter++;
    }
}

При первом нажатии пользователь получает тост, второй раз он должен выйти из приложения.Мне удалось закрыть приложение, но когда я нажимаю квадратную кнопку, я вижу, что приложение все еще запущено.Есть идеи, как полностью выйти из приложения?

Я уже попробовал эти разные предложения, но они не сработали:

finish();
finishAffinity();
finishAndRemoveTask();
System.exit(0);
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);

, а также

Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);

и

if (getIntent().getBooleanExtra("EXIT", false)) {
    finish();
}

в основном действии.

Невозможно использовать функциональность кнопки «Назад» по умолчанию, поскольку основное действие автоматически переходит на страницу входа или в пользовательское меню.

1 Ответ

0 голосов
/ 18 февраля 2019

При первом нажатии пользователь получает тост, второй раз он должен выйти из приложения.Мне удалось закрыть приложение, но когда я нажимаю квадратную кнопку, я вижу, что приложение все еще запущено.Есть идеи, как полностью выйти из приложения?

Это невозможно на Android.Все, что вы можете сделать, это позвонить finish();.В основном ваше приложение будет по-прежнему отображаться в меню запущенных приложений, но оно вообще не работает.Так что не беспокойся об этом.Если ваше приложение закрывается при вызове finish(), у вас все в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...