我正在尝试使用以下方法检查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;
}
}
我将我的电脑从互联网上断开,然后尝试运行上述方法。它总是回归真实!?为什么呢?
答案 0 :(得分:70)
要禁用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)
有很多方法。我在这里解释两种方法。
飞行模式关闭
它会断开您的模拟器与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)
答案 5 :(得分:3)
要检查真实设备(以及模拟器),请转到:
设置>无线和网络>移动网络>已启用数据
取消选中它,它会起作用。
答案 6 :(得分:1)
最近的模拟器版本从ADT视图提供了一种更简单的方法:
Window -> Show view -> Other... -> Android -> Emulator Control
只需从“电话状态”更改“数据”值,然后重新测试您的应用程序。
答案 7 :(得分:1)
您可以在模拟器中实际禁用互联网连接,就像在真实手机中一样。
我只是在加载到我的模拟器中的android 4.4图像中成功尝试了它。
答案 8 :(得分:0)
在Android模拟器中禁用互联网的步骤:
现在您的模拟器不接受互联网连接。
注意:在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();
}