Я делаю приложение. Приложению требуется Интернет для 5 занятий, для остальных 4 занятий Интернет не требуется.
Действие, которому нужен интернет, нужен, потому что они должны делать 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