Отключить все сетевые подключения
Добавлено: 13 авг 2013, 21:55
Добрый день.
Пытаюсь сделать программную отключалку сетевых подключений.
Если активен только один тип подключения, WIFI или DATA, то все нормально отключается.
Если два, то андроид отключает только один из них, в моем случае это WIFI, так как он скорее всего имеет приимущество в плане очередности.
Проверяю подключение таким образом:
Проверяю активен ли WIFI:
И отменяю его:
Потом идет проверка мобильного инета :
Так вот, есл вайфай был включен, то isMobile будет false. Я так понял, что изменения вступают в силу по истечению какого-то промежутка времени. Код выполняется в BroadcastReceiver.
Пытался обернуть функцию отключающую инет в Runnable и сделать Thread.sleep(5000); . Но тогда функция вообще не выполняется.
Посоветуйту пожалуйста, что с этим можно сделать и куда копать.
Спасибо.
Пытаюсь сделать программную отключалку сетевых подключений.
Если активен только один тип подключения, WIFI или DATA, то все нормально отключается.
Если два, то андроид отключает только один из них, в моем случае это WIFI, так как он скорее всего имеет приимущество в плане очередности.
Проверяю подключение таким образом:
Код: Выделить всё
ConnectivityManager connectivityManager = (ConnectivityManager) ctx
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetwork = connectivityManager.getActiveNetworkInfo();Код: Выделить всё
boolean isWiFi = activeNetwork.getType() == ConnectivityManager.TYPE_WIFI;Код: Выделить всё
WifiManager wifi = (WifiManager) ctx
.getSystemService(Context.WIFI_SERVICE);
wifi.setWifiEnabled(false);Код: Выделить всё
boolean isMobile = activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE;Пытался обернуть функцию отключающую инет в Runnable и сделать Thread.sleep(5000); . Но тогда функция вообще не выполняется.
Посоветуйту пожалуйста, что с этим можно сделать и куда копать.
Спасибо.