Закрыть приложение, если нет подключения к интернету

При создании своей "Домашней" активности я хочу проверить, есть ли подключение к Интернету, если false, просто закройте мою активность, показывая тост.
Но моя Домашняя активность не может быть первой в стеке, поэтому если просто установить финиш (); он может просто закрыть это действие и показать верхний в стеке действий.
Итак, я записал этот код, но имеет ли он смысл?

 if(!Utils.isOnline(mContext))
        if(!moveTaskToBack(true))
            finish();

Где Utils.isOnline() - это мой метод проверки интернет-соединения.

РЕДАКТИРОВАТЬ: я уже создал мой метод для проверки интернет-соединения, и это Utils.isOnline().. Так что я не спрашиваю, как проверить интернет-соединение...

EDIT2: moveTaskToBack (), вероятно, не лучший выбор для достижения моей цели, потому что да, это ставит мою активность на BackGround, но если я снова ее открою, приложение больше не проверяет мое состояние (не знаю почему.. оно пропускает OnCreate(?)) и показывает пустую активность..

2 ответа

Решение

Если вы хотите закрыть свое приложение, вы можете добавить следующие строки:

Intent intent = new Intent(Intent.ACTION_MAIN);
       intent.addCategory(Intent.CATEGORY_HOME);
       intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);

Попробуйте этот код.

поставьте следующее условие в onCreate().

if(!Utils.isOnline(mContext)){


    Toast.makeText(getApplicationContext(), "You have no Internet Connection!", Toast.LENGTH_SHORT).show(); 
    Intent startMain = new Intent(Intent.ACTION_MAIN);
    startMain.addCategory(Intent.CATEGORY_HOME);
    startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(startMain);
    finish(); 
}
Другие вопросы по тегам