我想知道是否有某种方法可以让模拟器在访问互联网时表现得像真实设备一样。在任何需要互联网访问的操作之前,我通常会像这样检查连接
public boolean internet(){
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
return true;
}
return false;
}
但是在真实设备上并且当移动接收很差时,互联网连接实际上不可用,认为 internet() 返回 true。这不仅仅是延迟问题或低速问题,它根本没有发送请求(或者永远不会得到响应,我不知道)。目前我在打电话时遇到这个问题
HttpGet request = new HttpGet(new URI(url));
HttpResponse response = httpclient.execute(request);
并且不知道如何在真实设备上调试它。我很确定这是移动互联网连接的问题,因为当通过 wi-fi 连接同一设备时我没有问题。我认为设置 httpclient 套接字和连接超时可以解决问题,但我仍然遇到崩溃。