ConnectivityManager не работает на Motorola Xoom (Сота 3,2) - PullRequest
0 голосов
/ 20 января 2012

У меня есть вызов метода isNetworkAvailable(), чтобы проверить, имеет ли пользователь разрешение wap / wifi / wimax, это работает для Android 2.1 до 2.3 +.

Но теперь пользователь приложения, использующий сотовую сеть 3.2 наMotorola Xoom сообщает мне, что он не может открыть приложение.

В моем веб-интерфейсе разработчика Android я вижу эту ошибку журнала: http://paste.ubuntu.com/811881/

private boolean isNetworkAvailable()
{
    ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo mobileInfo = connec.getNetworkInfo(0);
    NetworkInfo wifiInfo = connec.getNetworkInfo(1);
    NetworkInfo wimaxInfo = connec.getNetworkInfo(6);
    if (wimaxInfo!=null) {
        return mobileInfo.isConnected() || wifiInfo.isConnected()|| wimaxInfo.isConnected();
    }
    else {
        return mobileInfo.isConnected() || wifiInfo.isConnected();
    }
}

См.весь класс / деятельность здесь (строка 276):

https://github.com/voidcode/Diaspora-Webclient/blob/master/src/com/voidcode/diasporawebclient/MainActivity.java

Ответы [ 2 ]

0 голосов
/ 19 ноября 2012

Я столкнулся с той же проблемой с Motorola Xoom, потому что у него нет поддержки подключения для ConnectivityManager.TYPE_MOBILE.

У меня работает следующий код:

ConnectivityManager connMngr = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); 
try { 
    return connMngr.getActiveNetworkInfo().isConnected(); 
} catch (NullPointerException npe) { 
    return false; 
}
0 голосов
/ 30 января 2012

mobileInfo или wifiInfo могут быть нулевыми. На устройстве только для Wi-Fi я не удивлюсь, если mobileInfo (ConnectivityManager.TYPE_MOBILE) будет нулевым.

...