转自:http://blog.csdn.net/androidbluetooth/article/details/6860146

直接上代码,没有什么好说的!

[java] view plain copy print ?
  1. packagemark.zhang;
  2. importjava.util.List;
  3. importandroid.content.Context;
  4. importandroid.location.LocationManager;
  5. importandroid.net.ConnectivityManager;
  6. importandroid.net.NetworkInfo;
  7. importandroid.telephony.TelephonyManager;
  8. publicclassNetworkProber{
  9. /**
  10. *网络是否可用
  11. *
  12. *@paramactivity
  13. *@return
  14. */
  15. publicstaticbooleanisNetworkAvailable(Contextcontext){
  16. ConnectivityManagerconnectivity=(ConnectivityManager)context
  17. .getSystemService(Context.CONNECTIVITY_SERVICE);
  18. if(connectivity==null){
  19. }else{
  20. NetworkInfo[]info=connectivity.getAllNetworkInfo();
  21. if(info!=null){
  22. for(inti=0;i<info.length;i++){
  23. if(info[i].getState()==NetworkInfo.State.CONNECTED){
  24. returntrue;
  25. }
  26. }
  27. }
  28. }
  29. returnfalse;
  30. }
  31. /**
  32. *Gps是否打开
  33. *
  34. *@paramcontext
  35. *@return
  36. */
  37. publicstaticbooleanisGpsEnabled(Contextcontext){
  38. LocationManagerlocationManager=((LocationManager)context
  39. .getSystemService(Context.LOCATION_SERVICE));
  40. List<String>accessibleProviders=locationManager.getProviders(true);
  41. returnaccessibleProviders!=null&&accessibleProviders.size()>0;
  42. }
  43. /**
  44. *wifi是否打开
  45. */
  46. publicstaticbooleanisWifiEnabled(Contextcontext){
  47. ConnectivityManagermgrConn=(ConnectivityManager)context
  48. .getSystemService(Context.CONNECTIVITY_SERVICE);
  49. TelephonyManagermgrTel=(TelephonyManager)context
  50. .getSystemService(Context.TELEPHONY_SERVICE);
  51. return((mgrConn.getActiveNetworkInfo()!=null&&mgrConn
  52. .getActiveNetworkInfo().getState()==NetworkInfo.State.CONNECTED)||mgrTel
  53. .getNetworkType()==TelephonyManager.NETWORK_TYPE_UMTS);
  54. }
  55. /**
  56. *判断当前网络是否是wifi网络
  57. *if(activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE){//判断3G网
  58. *
  59. *@paramcontext
  60. *@returnboolean
  61. */
  62. publicstaticbooleanisWifi(Contextcontext){
  63. ConnectivityManagerconnectivityManager=(ConnectivityManager)context
  64. .getSystemService(Context.CONNECTIVITY_SERVICE);
  65. NetworkInfoactiveNetInfo=connectivityManager.getActiveNetworkInfo();
  66. if(activeNetInfo!=null
  67. &&activeNetInfo.getType()==ConnectivityManager.TYPE_WIFI){
  68. returntrue;
  69. }
  70. returnfalse;
  71. }
  72. /**
  73. *判断当前网络是否是3G网络
  74. *
  75. *@paramcontext
  76. *@returnboolean
  77. */
  78. publicstaticbooleanis3G(Contextcontext){
  79. ConnectivityManagerconnectivityManager=(ConnectivityManager)context
  80. .getSystemService(Context.CONNECTIVITY_SERVICE);
  81. NetworkInfoactiveNetInfo=connectivityManager.getActiveNetworkInfo();
  82. if(activeNetInfo!=null
  83. &&activeNetInfo.getType()==ConnectivityManager.TYPE_MOBILE){
  84. returntrue;
  85. }
  86. returnfalse;
  87. }
  88. }

另外还有两个方法判断网络是否可用:

[java] view plain copy print ?
  1. publicstaticbooleanisNetworkAvailable_00(Contextcontext){
  2. ConnectivityManagercm=((ConnectivityManager)context
  3. .getSystemService(Context.CONNECTIVITY_SERVICE));
  4. if(cm!=null){
  5. NetworkInfoinfo=cm.getActiveNetworkInfo();
  6. if(info!=null&&info.isConnectedOrConnecting()){
  7. returntrue;
  8. }
  9. }
  10. returnfalse;
  11. }
  12. publicstaticbooleanisNetworkAvailable_01(Contextcontext){
  13. ConnectivityManagercm=(ConnectivityManager)context
  14. .getSystemService(Context.CONNECTIVITY_SERVICE);
  15. NetworkInfonetwork=cm.getActiveNetworkInfo();
  16. if(network!=null){
  17. returnnetwork.isAvailable();
  18. }
  19. returnfalse;
  20. }

更加严谨的写法:

[java] view plain copy print ?
  1. publicstaticbooleancheckNet(Contextcontext){
  2. try{
  3. ConnectivityManagerconnectivity=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
  4. if(connectivity!=null){
  5. NetworkInfoinfo=connectivity.getActiveNetworkInfo();
  6. if(info!=null&&info.isConnected()){
  7. if(info.getState()==NetworkInfo.State.CONNECTED){
  8. returntrue;
  9. }
  10. }
  11. }
  12. }catch(Exceptione){
  13. returnfalse;
  14. }
  15. returnfalse;
  16. }



更多相关文章

  1. android网络优化
  2. android 网络访问-图片处理优秀开源项目 (201
  3. 【Android】仿UC网络判断效果
  4. Android 检测网络连接状态
  5. android获取网络类型
  6. Android:下载网络图片
  7. android 网络状态监听

随机推荐

  1. Android(安卓)Dev Tools官网地址:http://w
  2. 2015年Android开发新技术小结
  3. 在Android下有类似于session的东西,叫做Ap
  4. Android Studio的安装步骤及设置.
  5. Android(安卓)ViewDragHelper使用介绍
  6. Andriod使用Intent实现拨号
  7. [Android]Android MVP&依赖注入&单元测试
  8. android下sqlite操作详解
  9. 第13天android:向sd卡写文件
  10. Android采取BroadcastReceiver方式自动获