Закрыть приложение, если нет подключения к интернету
При создании своей "Домашней" активности я хочу проверить, есть ли подключение к Интернету, если 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();
}