#android #networking
#Android #сеть
Вопрос:
в моем приложении я пытаюсь отправить некоторые данные в сеть. но приложение становится медленным или завершается сбоем, когда сеть недоступна.
как сохранить запрос на потом и повторно отправить его, как только телефон снова подключится к сети?
как это сделать………
Ответ №1:
При сбое передачи вы можете использовать public final boolean postDelayed(Runnable r, long delayMillis)
для повторной попытки через установленное время. Вам нужно будет настроить Runnable
класс и отправить переопределяющий данные метод run().
http://developer.android.com/reference/android/os/Handler.html
http://developer.android.com/reference/java/lang/Runnable.html
Ответ №2:
@Aleadam прав, вам следует опубликовать свои данные позже, как только ваш Интернет будет подключен, однако вы можете проверить свое предполагаемое соединение этим методом.
public boolean isNetworkAvailable() {
ConnectivityManager connectivityManager
= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
return activeNetworkInfo != null;
}
но для этого метода потребуется импортировать некоторые библиотеки Android
вот эти
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
Я надеюсь, что это поможет.
Комментарии:
1.
return (networkInfo != null amp;amp; networkInfo.isConnected());
было бы лучше, не так ли?