Как узнать, отключена ли настройка Wi-Fi в политике диспетчера устройств?

Я хотел знать, есть ли способ узнать, включена ли конфигурация Wi-Fi через код. Я могу использовать следующий код:

UserManager um = (UserManager) context
                .getSystemService(Context.USER_SERVICE);

        Bundle restrictions = um.getUserRestrictions();
        LogUtil.d(TAG, "restrictions bundle = " + restrictions.toString());
        if (restrictions
                .containsKey(UserManagerUtils.DISALLOW_CONFIG_WIFI)) {
            boolean isWiFiDisabled = restrictions
                    .getBoolean(UserManagerUtils.DISALLOW_CONFIG_WIFI);
            LogUtil.d(
                    TAG,
                    "restrictions DISALLOW_CONFIG_WIFI = "
                            + isWiFiDisabled );
        }

Но я не хочу использовать этот код.

Обычно, чтобы узнать, отключена ли политика конфигурации Wi-Fi, мы можем перейти к настройкам Wi-Fi. Если мы видим список доступных и / или подключенных сетей Wi-Fi, это означает, что конфигурация Wi-Fi включена владельцем нашего устройства. Когда владелец устройства отключает конфигурацию Wi-Fi, мы не можем видеть список доступных / подключенных сетей. Однако в этом случае, если мы уже подключены к какой-либо сети, мы все равно можем иметь доступ в Интернет через эту сеть.

Пожалуйста, дайте мне знать, если есть какой-либо другой способ узнать состояние конфигурации Wi-Fi.

1 ответ

Используйте следующую команду, чтобы проверить, включена она или нет

boolean wifiEnabled = wifiManager.isWifiEnabled();

но перед этим вам понадобятся следующие разрешения в вашем файле манифеста:

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

Затем вы можете использовать следующее в вашем классе активности для включения / выключения:

WifiManager wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); 
wifiManager.setWifiEnabled(true);
wifiManager.setWifiEnabled(false);
Другие вопросы по тегам