Как отключить интернет-соединение в эмуляторе Android?
Я пытаюсь проверить подключение к Интернету на Android, используя следующий метод. У меня есть соединение Wi-Fi.
private boolean checkInternetConnection() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
// Test for connection
if (cm.getActiveNetworkInfo() != null
&& cm.getActiveNetworkInfo().isAvailable()
&& cm.getActiveNetworkInfo().isConnected()) {
return true;
}
else {
// No conection
return false;
}
}
Я отключаю свой компьютер от Интернета и затем пытаюсь запустить вышеуказанный метод. Тем не менее, это всегда возвращает истину!? Зачем?
13 ответов
Из Затмения
Чтобы отключить интернет-соединение, перейдите в Eclipse и выполните
menu Window -> Show view -> Other -> Android -> Devices
Теперь выберите запущенный эмулятор и снова перейдите к:
menu Window -> Show View -> Other -> Android -> Emulator Control
Теперь в этом... установите данные для отмены регистрации из дома.
С устройства и эмулятора
На устройстве или в эмуляторе перейдите:
Setting -> Wireless & networks -> Airplane Mode -> OK
Вы можете отключить интернет-соединение, нажав F8 в любом эмуляторе Android. Это кнопка переключения, поэтому, если у нее нет подключения к Интернету, он начнет подключение к Интернету, а если у него уже есть подключение к Интернету, то он отключит его.
Попробуйте команду ниже
WIFI:
$ adb shell svc wifi enable
$ adb shell svc wifi disable
MOBILE DATA:
$ adb shell svc data enable
$ adb shell svc data disable
Обновление Android Studio 3.0
Просто перетащите и откройте центр управления и нажмите на кнопку режима самолета, как то, что вы делаете на вашем реальном устройстве.
Пожалуйста, терпите меня за очень медленный эмулятор.
Есть много методов. Я объясняю два метода здесь.
- Просто нажмите клавишу F8, чтобы включить или отключить интернет-соединение.
- Элемент списка
Просто запустите эмулятор, удерживайте кнопку питания и выберите:
Режим полета Выкл.
Это отключит ваш эмулятор от интернета. Если вы хотите подключиться снова, просто удерживайте кнопку питания еще раз и выберите:
Режим полета включен
И интернет-соединение вашего эмулятора начнет работать!
Чтобы проверить на реальном устройстве (а также в эмуляторе), перейдите по ссылке:
Настройки> Беспроводные сети> Мобильные сети> Данные включены
Снимите флажок, и он будет работать.
На самом деле вы можете отключить интернет- соединение в симуляторе, как в реальном телефоне.
- Проведите пальцем вниз по экрану, чтобы увидеть панель уведомлений.
- Нажмите на значок сети передачи данных
- Выключите сотовую сеть.
Я только что попробовал это успешно в образе андроида 4.4, загруженном в мой симулятор.
Ни один из других ответов на этот вопрос не помог мне, единственное, что сработало, это
adb shell
->
su
->
ifconfig wlan0 down
и вы можете использовать его, чтобы снова запустить его. (Мне пришлось перезагрузить устройство даже после выполнения
ifconfig wlan0 up
.)
Очевидно, прежде чем пытаться это сделать, убедитесь, что мобильные данные отключены (или устройство находится в режиме полета).
Большое спасибо noamtm за подсказку!
Последние версии эмулятора предоставляют более простой способ с точки зрения ADT:
Window -> Show view -> Other... -> Android -> Emulator Control
Просто измените значение "Данные" на "Состояние телефонии" и снова протестируйте приложение.
Мое приложение было создано с использованием React Native, и мне помогло запустить устройство в режиме отладки и отключить сетевое соединение из раскрывающегося меню регулирования в Chrome devtools.
Примечание. Этот поток отключает любые вызовы XHR, выполняемые непосредственно в коде приложения. Любые запросы, выполняемые через встроенные порталы/представления, могут по-прежнему работать, если код, генерирующий эти запросы, находится за пределами исходного каталога/кода приложения.
Для этого я использовал автономное приложение React Native Debugger и выполнил следующие шаги:
- Выберите терминал, на котором работает
react-native start
и откройте меню разработчика, нажав буквуd
- В эмуляторе выберите
Debug
из меню разработчика
Откройте автономное приложение React Native Debugger.
В эмуляторе закройте и перезапустите приложение, чтобы подключиться к отладчику React Native. Если вы используете нестандартные значения локального порта разработки/соединения, обновите настройки в приложении React Native Debugger.
Включите проверку сети в приложении React Native Debugger, щелкнув правой кнопкой мыши окна инструментов разработчика React или Redux.
Перейдите на вкладку «Сеть» в окне инструментов разработчика Chrome в приложении React Native Debugger и отключите сетевое соединение в меню регулирования.
Шаги по отключению интернета в эмуляторе Android:
- Сначала установите приложение в эмулятор
- Длительное нажатие на кнопку питания вашего эмулятора
- Выберите режим полета
Теперь ваш эмулятор не будет принимать интернет-соединение.
Примечание. Здесь, после режима Airplan, вы не можете установить и запустить свое приложение в эмуляторе, поэтому, прежде чем перевести его в режим Airplane, запустите свое приложение в эмуляторе.
Чтобы снова перейти к обычному режиму, нажмите и удерживайте эмулятор и выберите ту же опцию.
telnet localhost 5554
(или номер эмулятора Android)
Интернет включен:
gsm data home
Интернет отключен:
gsm data unregistered
Вы можете использовать мою библиотеку, доступную на http://www.cristianmarquez.com.ar/.
public boolean isOnline() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
return cm.getActiveNetworkInfo().isConnectedOrConnecting();
}