Я работаю над проектом Android, и мне нужно было проверить подключение к Интернету. Я поискал в Интернете и нашел решение здесь, в stackoverflow. Однако у меня проблемы с проверкой состояния Интернета. Я уже везде искал, но могу Я не могу найти решение моей проблемы.
Вот манифест:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
Вот код для проверки, подключен ли Интернет:
cm = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
if (cm != null) {
NetworkInfo ni = cm.getActiveNetworkInfo();
isConnected = (ni != null && ni.isAvailable() && ni.isConnected()) ? true : false;
}
Проблема в том, что даже при активном трафике данных TYPE_MOBILE переменная ni всегда равна нулю. Правильный ли способ проверки доступа к интернет-трафику операторов? Или мне нужно использовать TelephonyManager? Это странно, потому что я использовал getNetworkInfo () [] и отладил его, там появляется HSPA для TYPE_MOBILE, но isAvalaible всегда ложно и getState () = DISCONNECTED. Однако у меня включен и работает операторский трафик данных (в других приложениях)
[РЕДАКТИРОВАТЬ] : кстати, я тестирую это прямо на устройстве, а не в эмуляторе :).
Заранее спасибо. С уважением.