【发布时间】:2018-09-09 08:57:24
【问题描述】:
我想检查''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;
}
}
如果互联网可用,代码工作正常,但在互联网不可用时始终显示“进度条”。 (无数据或无信号)
【问题讨论】:
-
你可以尝试做一些网络请求,比如获取谷歌主页来测试连接。
-
在mainThred中怎么做
-
你不应该在主线程中这样做。
标签: android progress-bar android-wifi android-connectivitymanager