Android 网络连接检查问题
我有一个IntentService,它可以调用一些web服务。在拨打这些电话之前,我会检查设备是否具有网络连接。我是这样做的:Android 网络连接检查问题,android,networking,connectivity,Android,Networking,Connectivity,我有一个IntentService,它可以调用一些web服务。在拨打这些电话之前,我会检查设备是否具有网络连接。我是这样做的: private boolean isOnline() { ConnectivityManager connec = (ConnectivityManager)getSystemService(getApplicationContext().CONNECTIVITY_SERVICE); return connec.getNetworkInfo(0).isCon
private boolean isOnline() {
ConnectivityManager connec = (ConnectivityManager)getSystemService(getApplicationContext().CONNECTIVITY_SERVICE);
return connec.getNetworkInfo(0).isConnectedOrConnecting();
}
不幸的是,当我在Android设备上调试时,当我同时拥有网络和无线连接时,返回false
关于connec.getNetworkInfo(0)的一些有趣的小道消息:
显然,这个代码是不够的(也许只有当我通过网络发送一些比特并打开收音机时,它才会返回true?)。此外,由于我对ConnectivityManager不太熟悉,我假设我应该扫描所有网络(即:getNetworkInfo(0到N))
我如何才能正确地完成我在这里想要的东西?试试这个:
public static boolean isNetworkConnected(Context context){
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo network = cm.getActiveNetworkInfo();
if(network != null){
return network.isAvailable();
}
return false;
}
试试这个:
public static boolean isNetworkConnected(Context context){
ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo network = cm.getActiveNetworkInfo();
if(network != null){
return network.isAvailable();
}
return false;
}
是的,这会有用的。我找到了这个,但是还没有更新这个帖子。谢谢你,并为manifestYa添加权限,这将起作用。我找到了这个,但是还没有更新这个帖子。谢谢,并添加对清单的权限