2012-01-07 3 views
1

Я написал приложение для Android, которое требует передачи большого количества данных через сеть. Чтобы сохранить счета-фактуры, я добавил в свою конфигурацию переключатель, который должен переключать приложение в режим только «wlan only».Как проверить наличие определенного типа сети в Android?

Unluckily я не смогло реализовать правильную проверку для беспроводной локальной сети в моем приложении, основная идея была добавление необходимых разрешений через

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

в моем манифесте (который должен быть достаточен для этой цели) и реализована простой метод, к которому я обращаюсь в своей деятельности:

protected boolean checkForNetwork(Context context, boolean wlanOnly) { 
    // check via ACCESS_NETWORK_STATE 
    ConnectivityManager manager = (ConnectivityManager) context. 
      getSystemService(Context.CONNECTIVITY_SERVICE); 
    if (!wlanOnly) { 
     return manager.getActiveNetworkInfo().isConnected(); 
    } else { 
     // hmm... 
    } 
} 

Я довольно не уверен, что происходит в // hmm ... part.

ответ

4

Попробуйте это:

NetworkInfo info = manager.getActiveNetworkInfo(); 
if (info.getType() == ConnectivityManager.TYPE_WIFI) { 
    return info.isConnected(); 
} 
1

Состояние wifi = conMan.getNetworkInfo (ConnectivityManager.TYPE_WIFI) .getState();

Вы можете посмотреть здесь ;-)

http://developer.android.com/reference/android/net/wifi/WifiManager.html

общественный статический класс WifiConfiguration. Статус INT ТОК это сеть, мы в настоящее время подключены к

Смежные вопросы