我想检查一下是否' Wifi'已连接,但如何检测互联网是否可用?因为在我的MainActivity.java'我'通过以下代码检查互联网连接以及互联网的可用性。
public static boolean isConnectedToInternet(Context context) {
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (cm.getActiveNetworkInfo() != null
&& cm.getActiveNetworkInfo().isAvailable()
&& cm.getActiveNetworkInfo().isConnected()) {
Log.d("INTERNET_CONNECTION", "Internet is working");
return true;
} else {
Log.d("INTERNET_CONNECTION", "Internet is Not Available");
return false;
}
}
如果互联网可用(数据和信号正常),可以看到“进度条”'并加载内容和加载过程完成隐形“进度条”#。如果互联网不可用(没有数据或没有信号),则隐藏“进度条”'并显示错误。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (isConnectedToInternet(context)== true)
{
progressLayout.setVisibility(View.VISIBLE);
// load the content
}
else
{
progressLayout.setVisibility(View.GONE);
Toast.makeText(this, "No Internet", Toast.LENGTH_LONG).show;
}
}
如果互联网可用,代码工作正常,但是'进度条'互联网不可用时始终显示。 (没有数据或没有信号)
答案 0 :(得分:0)
public static boolean isNetworkAvailable(Context activity) {
ConnectivityManager connectivity = (ConnectivityManager) activity
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity == null) {
return false;
} else {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null) {
for (NetworkInfo anInfo : info) {
if (anInfo.getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
}
return false;
}