60

我正在尝试使用以下方法检查 Android 上的 Internet 连接。我有 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;
    }
}

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

4

12 回答 12

79

来自 Eclipse

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

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

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

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

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

从设备和模拟器

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

Setting -> Wireless & networks -> Airplane Mode -> OK
于 2011-12-14T05:33:54.437 回答
28

您可以通过按下F8任何 Android 模拟器来禁用 Internet 连接。它是一个切换按钮,所以如果它没有 Internet 连接,它将启动 Internet 连接,如果它已经有 Internet 连接,它将断开连接。

于 2014-01-22T09:52:04.907 回答
22

试试下面的命令

WIFI:
$ adb shell svc wifi enable
$ adb shell svc wifi disable
MOBILE DATA:
$ adb shell svc data enable
$ adb shell svc data disable
于 2018-01-05T07:36:47.550 回答
20

Android Studio 3.0 更新

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

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

在此处输入图像描述

于 2017-11-02T19:26:09.780 回答
14

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

  1. 只需按一下F8键即可启用或禁用 Internet 连接
  2. 只需启动您的模拟器,按住电源按钮,然后选择:

飞行模式关闭

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

飞行模式开启

您的模拟器的 Internet 连接将开始工作!

于 2014-04-21T06:43:47.963 回答
3

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

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

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

于 2011-12-14T05:29:55.770 回答
2

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

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

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

于 2017-01-11T05:16:08.990 回答
1

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

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

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

于 2013-08-29T12:24:17.390 回答
1

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

adb shell-> su->ifconfig wlan0 down

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

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

非常感谢noamtm 的提示回答!

于 2021-08-03T17:04:35.790 回答
0

telnet localhost 5554(或安卓模拟器编号)

启用互联网:

gsm data home

互联网禁用:

gsm data unregistered

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

于 2013-10-31T13:38:02.850 回答
0

在 Android 模拟器中禁用 Internet 的步骤:

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

现在您的模拟器将不接受 Internet 连接。

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

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

于 2013-08-01T05:52:18.697 回答
-2
public boolean isOnline() {
 ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
 return cm.getActiveNetworkInfo().isConnectedOrConnecting();

}
于 2011-12-14T05:32:11.550 回答