我正在尝试检查我的Android应用程序中的互联网连接
public static boolean isConnectingToInternet(Context _context) {
ConnectivityManager connectivity = (ConnectivityManager) _context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
Log.d("Network",
"NETWORKnAME: " + info[i].getTypeName());
return true;
}
}
return false;
}
但问题是,当我尝试通过关闭主机PC互联网连接来检查模拟器中的互联网连接时,此功能返回true,即互联网可用,而我已关闭主机PC的互联网连接
ConnectivityManager
类帮助确定是否与网络连接而不是与互联网连接相关
我的问题是如何检查互联网连接不可用?
答案 0 :(得分:0)
关闭wifi和数据包后再试一次。希望这会有所帮助。
答案 1 :(得分:-2)
尝试此操作来检测您的互联网连接
public static boolean isInternetConnected(Context mContext) {
try {
ConnectivityManager connect = null;
connect = (ConnectivityManager) mContext
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connect != null) {
NetworkInfo resultMobile = connect
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
NetworkInfo resultWifi = connect
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if ((resultMobile != null && resultMobile
.isConnectedOrConnecting())
|| (resultWifi != null && resultWifi
.isConnectedOrConnecting())) {
return true;
} else {
return false;
}
}
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
将以下权限添加到清单文件
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />