如何在 Android 模拟器中禁用互联网连接?

问题描述 投票:0回答:12

我正在尝试使用以下方法检查 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;
    }
}

我断开电脑与互联网的连接,然后尝试运行上述方法。但它总是返回 true!?为什么?

android android-emulator internet-connection
12个回答
82
投票

来自日食

要禁用 Internet 连接,请转到 Eclipse 并执行以下操作

menu Window -> Show view -> Other -> Android -> Devices

现在选择您正在运行的模拟器,然后再次转到:

menu Window -> Show View -> Other -> Android -> Emulator Control

现在... 将数据设置为从主页取消注册

来自设备和模拟器

在设备或模拟器中,转到:

Setting -> Wireless & networks -> Airplane Mode -> OK

30
投票

您可以在任何 Android 模拟器中按 F8 禁用互联网连接。它是一个切换按钮,因此如果没有互联网连接,它将启动互联网连接,如果已经有互联网连接,它将断开连接。


27
投票

尝试以下命令

WIFI:
$ adb shell svc wifi enable
$ adb shell svc wifi disable
MOBILE DATA:
$ adb shell svc data enable
$ adb shell svc data disable

23
投票

Android Studio 3.0 更新

只需拖动并打开控制中心,然后单击飞行模式按钮,就像您在实际设备上所做的那样。

请耐心等待模拟器非常慢。


16
投票

方法有很多。我在这里解释两种方法。

  1. 只需按F8键即可启用或禁用互联网连接
  2. 只需启动模拟器,按住电源按钮,然后选择:

飞行模式关闭

它将断开您的模拟器与互联网的连接。如果您想再次连接,只需再次按住电源按钮并选择:

飞行模式开启

您的模拟器的互联网连接将开始工作!


3
投票

要检查真实设备(以及模拟器),请访问:

设置 > 无线和网络 > 移动网络 > 启用数据

取消选中它即可工作。


1
投票

您实际上可以在模拟器中禁用互联网连接就像在真正的手机中一样

  1. 向下滑动屏幕可查看通知面板。
  2. 点击数据网络图标
  3. 关闭蜂窝网络。

我刚刚在加载到模拟器中的 android 4.4 图像中成功尝试了它。


1
投票

最近的模拟器版本提供了一种更简单的方法,从 ADT 视图来看:

Window -> Show view -> Other... -> Android -> Emulator Control

只需更改 “电话状态” 中的 “数据” 值,然后再次测试您的应用程序。


1
投票

这个问题的其他答案都不适合我,唯一有用的是

adb shell
->
su
->
ifconfig wlan0 down

您可以使用

ifconfig wlan0 up
再次将其恢复。 (即使在执行
ifconfig wlan0 up
之后,我也必须重新启动设备。)

在尝试此操作之前,请务必确保移动数据已禁用(或设备处于飞行模式)。

非常感谢noamtm的回答的提示!


0
投票

在 Android 模拟器中禁用互联网的步骤:

  1. 首先将应用程序安装到模拟器中
  2. 长按模拟器的电源按钮
  3. 选择飞行模式

现在您的模拟器将不接受互联网连接。

注意:在飞行模式之后,您无法在模拟器中安装和运行您的应用程序,因此在将其置于飞行模式之前,请在模拟器中运行您的应用程序。

要再次更改为正常,请长按模拟器并选择相同的选项。


0
投票

telnet localhost 5554
(或Android模拟器编号)

支持互联网:

gsm data home

无法上网:

gsm data unregistered

您可以使用我的图书馆,可在 http://www.cristianmarquez.com.ar


0
投票

我的应用程序是使用 React Native 构建的,对我有用的是在调试模式下运行设备并从限制下拉列表中禁用网络连接。这只会禁用我的应用程序正在进行的任何 XHR 调用的互联网。

我为此使用了 React Native Debugger 独立应用程序,并按照以下步骤操作:

  1. 选择运行的终端
    react-native start
    并按字母
    d
  2. 打开开发者菜单

  1. 在模拟器上,从开发者菜单中选择
    Debug

  1. 打开 React Native Debugger 独立应用程序

  2. 在模拟器上,关闭并重新启动应用程序以与 React Native 调试器连接。如果使用非默认本地开发端口/连接值,请更新 React Native 调试器应用程序中的设置。

  3. 右键单击 React 或 Redux devtools 窗口,在 React Native Debugger 应用程序上启用网络检查

  4. 导航到 React Native Debugger 应用程序中 chrome devtools 窗口上的“网络”选项卡,然后从限制菜单禁用网络连接

© www.soinside.com 2019 - 2024. All rights reserved.