Я пытаюсь использовать AlertDialog в Android, который уведомит пользователей о том, что они запускаются в автономном режиме после проверки подключения к Интернету.Не удается показать AlertDialog в DoInBackground
Я использовал следующие коды:
protected Void doInBackground(Void... params) {
if (this.isOnline()) {
new GetJson().execute();
} else {
AlertDialog.Builder builder1 = new AlertDialog.Builder(homeFragment);
builder1.setMessage("INTERNET CONNECTION NOT AVAILABLE. Now you are viewing the news in Offline Mode.");
builder1.setCancelable(true);
AlertDialog alert1 = builder1.create();
alert1.show();
try {
saveFile = new SaveIntoFile(fileName);
jsonStr = saveFile.read();
// Log.d(TAG,"offline data reading from a file");
if (!jsonStr.equals(null))
new GetDatas().execute();
else {
}
} catch (Exception e) {
e.printStackTrace();
}
}
return null;
}
Но я получаю сообщение об ошибке при добавлении кодов для AlertDialog. Приложение отлично работает без кодов для AlertDialog. Каковы могут быть ошибки с этим кодом и как я могу исправить его, чтобы хорошо работать?
Почему вы установить его в 'doInBackground()', что это фоновый поток. Операции пользовательского интерфейса там не могут быть выполнены. – Gattsu
сделайте это в onprogressupdate или onpostexecute .. переопределите их и поместите там – Elltz
, где u вызывает Asyanktask, чем check net, здесь или нет и nofify there –