有时,我必须在我的Android应用程序中检查互联网连接:
private boolean isNetworkAvailable() { ConnectivityManager connectivityManager= (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo(); return activeNetworkInfo != null;}
上面的代码仅在一个网络可用时有效!但是,我的设备具有wifi和3G,当我同时使用上述两种网络连接时,以上代码始终返回false! (当它返回false时,我仍然可以使用Google.com)!我错过了什么?谢谢!
解决方法:
尝试这个
private boolean haveNetworkConnection() { boolean haveConnecteDWifi = false; boolean haveConnectedMobile = false; ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo[] netInfo = cm.getAllNetworkInfo(); for (NetworkInfo ni : netInfo) { if (ni.getTypename().equalsIgnoreCase("WIFI")) if (ni.isConnected()) haveConnecteDWifi = true; if (ni.getTypename().equalsIgnoreCase("MOBILE")) if (ni.isConnected()) haveConnectedMobile = true; } return haveConnecteDWifi || haveConnectedMobile;}
总结 以上是内存溢出为你收集整理的在Android中使用3G和Wifi检查互联网连接全部内容,希望文章能够帮你解决在Android中使用3G和Wifi检查互联网连接所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)