[html] view plain copy print ?
  1. importandroid.content.Context;
  2. importandroid.net.ConnectivityManager;
  3. importandroid.net.NetworkInfo;
  4. importandroid.net.Uri;
  5. importandroid.net.NetworkInfo.State;
  6. importandroid.telephony.TelephonyManager;
  7. importandroid.util.Log;
  8. publicclassNetWorkHelper{
  9. publicstaticfinalintNETWORN_NONE=0;
  10. publicstaticfinalintNETWORN_WIFI=1;
  11. publicstaticfinalintNETWORN_MOBILE=2;
  12. privatestaticStringLOG_TAG="NetWorkHelper";
  13. publicstaticUriuri=Uri.parse("content://telephony/carriers");
  14. /**
  15. *判断是否有网络
  16. */
  17. publicstaticbooleanisNetworkAvailable(Contextcontext){
  18. ConnectivityManagerconnectivity=(ConnectivityManager)context
  19. .getSystemService(Context.CONNECTIVITY_SERVICE);
  20. if(connectivity==null){
  21. Log.w(LOG_TAG,"couldn'tgetconnectivitymanager");
  22. }else{
  23. NetworkInfo[]info=connectivity.getAllNetworkInfo();
  24. if(info!=null){
  25. for(inti=0;i<info.length;i++){
  26. if(info[i].isAvailable()){
  27. Log.d(LOG_TAG,"networkisavailable");
  28. returntrue;
  29. }
  30. }
  31. }
  32. }
  33. Log.d(LOG_TAG,"networkisnotavailable");
  34. returnfalse;
  35. }
  36. /**
  37. *检查网络状态
  38. *@paramcontext
  39. *@return
  40. */
  41. publicstaticbooleancheckNetState(Contextcontext){
  42. booleannetstate=false;
  43. ConnectivityManagerconnectivity=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
  44. if(connectivity!=null)
  45. {
  46. NetworkInfo[]info=connectivity.getAllNetworkInfo();
  47. if(info!=null){
  48. for(inti=0;i<info.length;i++)
  49. {
  50. if(info[i].getState()==NetworkInfo.State.CONNECTED)
  51. {
  52. netstate=true;
  53. break;
  54. }
  55. }
  56. }
  57. }
  58. returnnetstate;
  59. }
  60. /**
  61. *判断网络是否为漫游
  62. */
  63. publicstaticbooleanisNetworkRoaming(Contextcontext){
  64. ConnectivityManagerconnectivity=(ConnectivityManager)context
  65. .getSystemService(Context.CONNECTIVITY_SERVICE);
  66. if(connectivity==null){
  67. Log.w(LOG_TAG,"couldn'tgetconnectivitymanager");
  68. }else{
  69. NetworkInfoinfo=connectivity.getActiveNetworkInfo();
  70. if(info!=null
  71. &&info.getType()==ConnectivityManager.TYPE_MOBILE){
  72. TelephonyManagertm=(TelephonyManager)context
  73. .getSystemService(Context.TELEPHONY_SERVICE);
  74. if(tm!=null&&tm.isNetworkRoaming()){
  75. Log.d(LOG_TAG,"networkisroaming");
  76. returntrue;
  77. }else{
  78. Log.d(LOG_TAG,"networkisnotroaming");
  79. }
  80. }else{
  81. Log.d(LOG_TAG,"notusingmobilenetwork");
  82. }
  83. }
  84. returnfalse;
  85. }
  86. /**
  87. *判断MOBILE网络是否可用
  88. *
  89. *@paramcontext
  90. *@return
  91. *@throwsException
  92. */
  93. publicstaticbooleanisMobileDataEnable(Contextcontext){
  94. ConnectivityManagerconnectivityManager=(ConnectivityManager)context
  95. .getSystemService(Context.CONNECTIVITY_SERVICE);
  96. booleanisMobileDataEnable=false;
  97. isMobileDataEnable=connectivityManager.getNetworkInfo(
  98. ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting();
  99. returnisMobileDataEnable;
  100. }
  101. /**
  102. *判断wifi是否可用
  103. *@paramcontext
  104. *@return
  105. *@throwsException
  106. */
  107. publicstaticbooleanisWifiDataEnable(Contextcontext){
  108. ConnectivityManagerconnectivityManager=(ConnectivityManager)context
  109. .getSystemService(Context.CONNECTIVITY_SERVICE);
  110. booleanisWifiDataEnable=false;
  111. isWifiDataEnable=connectivityManager.getNetworkInfo(
  112. ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting();
  113. returnisWifiDataEnable;
  114. }
  115. publicstaticintgetNetworkState(Contextcontext){
  116. ConnectivityManagerconnManager=(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
  117. //Wifi
  118. Statestate=connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
  119. if(state==State.CONNECTED||state==State.CONNECTING){
  120. returnNETWORN_WIFI;
  121. }
  122. //3G
  123. state=connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
  124. if(state==State.CONNECTED||state==State.CONNECTING){
  125. returnNETWORN_MOBILE;
  126. }
  127. returnNETWORN_NONE;
  128. }
  129. }



转自http://blog.csdn.net/caiwenfeng_for_23/article/details/38100711

更多相关文章

  1. android取得当前网络连接状态
  2. 【Android】网络状态
  3. android判断是否连接网络
  4. Android 网络操作(上传下载等)
  5. 【android】监听网络变化连续多个广播的问题解决
  6. Android开发学习笔记整理(16)-网络请求
  7. android 网络检测
  8. android WIFi 连接状态之DetailedState

随机推荐

  1. [Android]模拟器无法启动:Waiting for HOM
  2. android——读写内部和外部存储方法
  3. Android24_Service初步
  4. Android(安卓)网络请求框架Retrofit2.0使
  5. Android中自定义底部弹出框ButtomDialog
  6. Android(安卓)网络应用--Apache HttpClie
  7. [转]android学习总结----Activity view
  8. eclipse虚拟机adb启动失败
  9. Android(安卓)Studio编写Xposed模块
  10. NDK的Windwos环境搭建