Как узнать, отключена ли настройка 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);