Я делаю приложение. Приложение нуждается в Интернете для 5 мероприятий, 4 других мероприятия не нуждаются в Интернете.Проверка на подключение к интернету постоянно с android
Деятельность, которая нуждается в Интернете, нуждается в ней, потому что она должна сделать CRUD и сделать httppost на веб-сайте для связи с БД. Так что в данный момент на OnCreate я чек для подключения к Интернету, как этот
ConnectionDetector cd = new ConnectionDetector(getApplicationContext());
Boolean isInternetPresent = cd.isConnectingToInternet(); // true or false
if(isInternetPresent)
Log.e("Internet available","Internet available");
//Do httpPost logic here
else
Log.e("Internet not available","Internet not available");
//Tell the user that he needs internet
ConnectionDetector
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class ConnectionDetector {
private Context context;
public ConnectionDetector(Context context) {
this.context = context;
}
public boolean isConnectingToInternet() {
ConnectivityManager connectivity = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
return false;
}
}
Но что после OnCreate? Что, если пользователь входит в Activity, чек проходит в onCreate, он заполняет форму, а затем он отключается от Интернета. Как проверить эту часть? И как это реализовать с моим текущим кодом? Вот почему в первом требовании мне нужна постоянная проверка подключения к интернету. Но это будет стекать аккумулятор как cbrulak отметил
Возможно, вам следует использовать пользовательский прослушиватель событий, например [this] [2]. [2]: http://stackoverflow.com/questions/12157130/internet-listener-android-example –