Как программно проверить, включено ли «использование беспроводных сетей» на Android? - PullRequest
1 голос
/ 15 февраля 2012

Я не хочу проверять, есть ли связь через WIFI или 3G!Я просто хочу проверить (а не изменить!), Если включен параметр «Использовать беспроводные сети» - CheckBox (тот, который вы можете установить в меню «Настройки»> «Расположение и безопасность»> «Мое местоположение»> ЗДЕСЬ). Спасибо

Ответы [ 2 ]

3 голосов
/ 15 февраля 2012

Код от RajaReddy проверит, включен ли Wi-Fi для сети.Если вы хотите узнать, включен ли Wi-Fi для позиционирования, тогда это следует сделать (замените «context» чем-то полезным)

ContentResolver cr = context.getContentResolver();
boolean wifiEnabled = Settings.Secure.isLocationProviderEnabled(cr, LocationManager.NETWORK_PROVIDER);

пример кода для уровня API <8 </p>

private static boolean isWifiLocationEnabled (Context context) {
    ContentResolver cr = context.getContentResolver();
    String enabledProviders = Settings.Secure.getString(cr, Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
    if (!TextUtils.isEmpty(enabledProviders)) {
        // not the fastest way to do that :)
        String[] providersList = TextUtils.split(enabledProviders, ",");
        for (String provider : providersList) {
            if (LocationManager.NETWORK_PROVIDER.equals(provider)) {
                return true;
            }
        }
    }
    return false;
}
2 голосов
/ 15 февраля 2012

используйте этот код

public Boolean isNetAvailable(Context con) {

   try {
      ConnectivityManager connectivityManager = (ConnectivityManager) con.getSystemService(Context.CONNECTIVITY_SERVICE);
      NetworkInfo wifiInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

      if(wifiInfo.isConnected()) {
         return true;
      }
   }catch(Exception e){
      e.printStackTrace();
   }
   return false;
}

и следующие разрешения требуются для этого

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