1
Я написал программу для проверки доступности сети или нет. Вот мой простой код:Всегда сообщать, что сеть недоступна при использовании программы NetworkInfo
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;
}
Я запустить его на своем Android телефон, он всегда возвращает ложь, но сеть доступна и я могу совершать звонки.
Я хотел бы знать, если «мобильная сеть» доступна или нет (т. е. наш сервис или зона обслуживания). Возможно ли это с помощью этой программы – yasserbn
Я также пробовал этот код 'code'final ConnectivityManager connMgr = (ConnectivityManager) activity.getSystemService (Context.CONNECTIVITY_SERVICE); final android.net .NetworkInfo mobile = connMgr.getNetworkInfo (ConnectivityManager.TYPE_MOBILE); if (mobile.isAvailable()) { // Делаем что-то еще. } Он не работает, функция mobile.isAvailable() всегда возвращает false. – yasserbn
Только ConnectivityManager использует соединения для передачи данных. Для получения информации о телефонном сигнале ознакомьтесь с этим руководством: http://www.firstdroid.com/2010/05/12/get-provider-gsm-signal-strength/ – Moritz