通过以下代码,我将能够知道网络连接是否存在
ConnectivityManager con_manager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (con_manager.getActiveNetworkInfo() != null
&& con_manager.getActiveNetworkInfo().isAvailable()
&& con_manager.getActiveNetworkInfo().isConnected()) {
return true;
} else {
return false;
}
但我想知道实际的数据包是否有任何帮助,我们非常感激
答案 0 :(得分:0)
试试这个
public static boolean checkInternetConnection(Context context)
{
try
{
ConnectivityManager connec = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
android.net.NetworkInfo wifi = connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
android.net.NetworkInfo mobile = connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if ((wifi != null && wifi.isConnected())
|| (mobile != null && mobile.isConnected()))
{
return true;
}
log("Connection", "Connection failed");
return false;
}
catch (Exception e)
{
// TODO: handle exception
e.printStackTrace();
return false;
}
}
答案 1 :(得分:0)
您使用的方法是告诉您设备已连接到网络但未连接到互联网。 您无法在不联系任何API的情况下知道它是否真正连接到互联网。这意味着您无法确定您的应用是否可以访问您的网络服务,直到你收到了有效的答复。
答案 2 :(得分:0)
我通常使用以下方法检查互联网连接
public static boolean isNetworkAvailable(Context context) {
try{
ConnectivityManager connectivityManager
= (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
boolean s= activeNetworkInfo != null && activeNetworkInfo.isConnectedOrConnecting();
return s;
}
catch(Exception e){
System.out.println("exception network"+e);
return false;
}
}