如何在Android模拟器中禁用Internet连接?

时间:2011-12-14 05:21:48

标签: android android-emulator internet-connection

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

我将我的电脑从互联网上断开,然后尝试运行上述方法。它总是回归真实!?为什么呢?

12 个答案:

答案 0 :(得分:70)

来自Eclipse

要禁用Internet连接,请转到Eclipse并执行

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

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

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

现在...... 将数据设置为从家中取消注册

从设备和模拟器

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

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

答案 1 :(得分:29)

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

答案 2 :(得分:13)

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

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

    飞行模式关闭

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

      

    飞行模式开启

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

答案 3 :(得分:11)

尝试以下命令

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

答案 4 :(得分:9)

Android Studio 3.0更新

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

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

enter image description here

答案 5 :(得分:3)

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

  

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

取消选中它,它会起作用。

答案 6 :(得分:1)

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

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

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

答案 7 :(得分:1)

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

  1. 向下滑动屏幕以查看通知面板。
  2. 点按数据网络图标
  3. 关闭蜂窝网络。
  4. 我只是在加载到我的模拟器中的android 4.4图像中成功尝试了它。

答案 8 :(得分:0)

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

  1. 首先将应用程序安装到模拟器中
  2. 长按模拟器的电源按钮
  3. 选择飞行模式
  4. 现在您的模拟器不接受互联网连接。

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

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

答案 9 :(得分:0)

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

启用互联网:

gsm data home

禁用互联网:

gsm data unregistered

您可以使用http://www.cristianmarquez.com.ar上提供的库。

答案 10 :(得分:0)

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

adb shell -> su -> ifconfig wlan0 down

并且您可以使用 ifconfig wlan0 up 重新启动它。 (我必须重新启动设备,即使在执行 ifconfig wlan0 up 之后也是如此。)

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

非常感谢noamtm's answer的提示!

答案 11 :(得分:-1)

public boolean isOnline() {
 ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
 return cm.getActiveNetworkInfo().isConnectedOrConnecting();

}