Контрольная задача интернет-соединения Android

Я плохо знаком с разработкой Android и работающий над приложением Android, которое требует, чтобы телефон был подключен к Интернету, или через Wi-Fi, EDGE или через 3G.

Это - код, который я использую к проверке, доступно ли интернет-соединение

public static boolean isConnected()
{
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    return cm.getActiveNetworkInfo().isConnectedOrConnecting();
}

Я также установил эти полномочия в файле манифеста

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Это хорошо работает в рабочей версии 1.5 эмулятора Android, когда 3G включен, но это отказывает, когда я отключаю соединение 3G. Мое приложение бросает исключение нулевого указателя, когда я называю isConnectedOrConnecting (). То же самое также происходит на моем HTC Desire рабочий Android 2.1.

Надеюсь, что любой знает решение этого.

Заранее спасибо!

16
задан Swati Garg 17 October 2018 в 10:26
поделиться

1 ответ

Если сбой произошел непосредственно на вашей строке:

return cm.getActiveNetworkInfo().isConnectedOrConnecting();

то это означает, что getActiveNetworkInfo() вернул null, потому что нет активной сети - в этом случае ваш метод isConnected() должен вернуть false.

25
ответ дан 30 November 2019 в 16:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: