2013-08-08 3 views
0

Я сделал простое приложение, которое показывает тип сети, который в настоящее время находится на устройстве. У меня планшет Nexus 7 дюймов, а показанное значение - Неизвестно. Я знаю, что Nexus 7 не является устройством GSM, поэтому ему не нужна SIM-карта для работы. Но я получаю интернет от wifi-маршрутизатора, что означает, что должен быть тип сети.Тип сети неизвестен на планшете Android Nexus 7

Почему это дает мне значение Unknown?

Я хорошо проверил свой код, поэтому он не может быть ошибкой, так как на эмулированном Nexus 7 отображается тип UTMS. Я использовал this page в качестве ссылки.

ответ

2

TelephonyManager используется только для проверки возможности подключения к сотовой связи. Устройство не использует (поскольку оно не имеет SIM-карты), таким образом, неизвестное возвращаемое значение.

Если вы хотите проверить WiFi соединение:

ConnectivityManager connManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE); 
NetworkInfo info = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); 

if (info != null && info.isConnected()) { 
    // device is using WiFi connection 
} 

Или просто отказаться от TelephonyManager и использовать ConnectionManager исключительно:

NetworkInfo info = connManager.getActiveNetworkInfo(); 
if (info != null && info.isConnected()) { 
    // device is using some connection 
} 

выше код будет проверять для любого типа подключения, то это WiFi или сотовая связь.