我正面临着在我的Android应用中重新上网的情况。我正在检查我的应用程序中的互联网可用性。但我也想要正确检查连接性。现在,如果我的互联网连接但信号没有到达。
ConnectivityManager connectivityManager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED || connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED ){
//do what ever
}
else{
Toast.makeText(getApplicationContext(), "Please activate the internet", Toast.LENGTH_SHORT).show();
}
如果信号丢失则不显示internet is not available
。所以我想要一些如何在每次检查信号的代码。
答案 0 :(得分:1)
试试这个,
public final boolean isInternetON(Context context) {
boolean haveConnectedWifi = false;
boolean haveConnectedMobile = false;
ConnectivityManager cm = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] netinfo = cm.getAllNetworkInfo();
for (NetworkInfo ni : netinfo) {
if (ni.getTypeName().equalsIgnoreCase("WIFI"))
if (ni.isAvailable())
haveConnectedWifi = true;
if (ni.getTypeName().equalsIgnoreCase("MOBILE"))
if (ni.isAvailable())
haveConnectedMobile = true;
}
return haveConnectedWifi || haveConnectedMobile;
}