Диспетчер аварий:
Диспетчер аварийных сигналов не имеет никакого отношения к состоянию дисплея, поэтому Да может работать, даже если экран выключен.
Фрагмент сетевой доступности:
public boolean isNetworkAvailable() {
Context context = getApplicationContext();
ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity == null) {
boitealerte(this.getString(R.string.alert),"getSystemService rend null");
} else {
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;
}
Эта функция вернет значение true, если сеть доступна, и значение false, если это не так (режим полета, вне зоны досягаемости и т.
Не забудьте добавить разрешение в манифест
Возможное решение
иметь широковещательный приемник для отключения экрана и отображения событий, как показано ниже,
public class ScreenReceiver extends BroadcastReceiver {
public static boolean wasScreenOn = true;
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
// do whatever you need to do here
wasScreenOn = false;
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
// and do whatever you need to do here
wasScreenOn = true;
}
}
}
В этом приемнике укажите логику для запроса, если сеть доступна ..