首页 > 系统 > Android > 正文

Android判断设备网络连接状态及判断连接方式的方法

2019-10-24 20:35:21
字体:
来源:转载
供稿:网友

这篇文章主要介绍了Android判断设备网络连接状态及判断连接方式的方法,涉及Android针对网络连接的相关判定技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了Android判断设备网络连接状态及判断连接方式的方法。分享给大家供大家参考,具体如下:

在Android开发过程中,对于一个需要连接网络的Android设备,对设备的网络状态检测是很有必要的!有很多的App都需要连接网络。判断设备是否已经连接网络,并且在连接网络的状态下判断是wifi无线连接还是GPRS手机网络连接,这样就可以在不同的网络连接下去调用不同的方法,处理不同的事情。这些功能都写在了下面的代码中了!请看主要代码如下:

 

 
  1. /**  
  2. * 检测网络是否连接  
  3. * @return  
  4. */ 
  5. private boolean checkNetworkState() { 
  6. boolean flag = false
  7. //得到网络连接信息 
  8. manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);  
  9. //去进行判断网络是否连接 
  10. if (manager.getActiveNetworkInfo() != null) { 
  11. flag = manager.getActiveNetworkInfo().isAvailable(); 
  12. if (!flag) { 
  13. setNetwork(); 
  14. else { 
  15. isNetworkAvailable(); 
  16. return flag; 
  17. /** 
  18. * 网络未连接时,调用设置方法 
  19. */ 
  20. private void setNetwork(){ 
  21. Toast.makeText(this"wifi is closed!", Toast.LENGTH_SHORT).show(); 
  22. AlertDialog.Builder builder = new AlertDialog.Builder(this); 
  23. builder.setIcon(R.drawable.ic_launcher); 
  24. builder.setTitle("网络提示信息"); 
  25. builder.setMessage("网络不可用,如果继续,请先设置网络!"); 
  26. builder.setPositiveButton("设置"new OnClickListener() { 
  27. @Override 
  28. public void onClick(DialogInterface dialog, int which) { 
  29. Intent intent = null
  30. /** 
  31. * 判断手机系统的版本!如果API大于10 就是3.0+ 
  32. * 因为3.0以上的版本的设置和3.0以下的设置不一样,调用的方法不同 
  33. */ 
  34. if (android.os.Build.VERSION.SDK_INT > 10) { 
  35. intent = new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS); 
  36. else { 
  37. intent = new Intent(); 
  38. ComponentName component = new ComponentName( 
  39. "com.android.settings"
  40. "com.android.settings.WirelessSettings"); 
  41. intent.setComponent(component); 
  42. intent.setAction("android.intent.action.VIEW"); 
  43. startActivity(intent); 
  44. }); 
  45. builder.setNegativeButton("取消"new OnClickListener() { 
  46. @Override 
  47. public void onClick(DialogInterface dialog, int which) { 
  48. }); 
  49. builder.create(); 
  50. builder.show(); 
  51. /** 
  52. * 网络已经连接,然后去判断是wifi连接还是GPRS连接 
  53. * 设置一些自己的逻辑调用 
  54. */ 
  55. private void isNetworkAvailable(){ 
  56. State gprs = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState(); 
  57. State wifi = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState(); 
  58. if(gprs == State.CONNECTED || gprs == State.CONNECTING){ 
  59. Toast.makeText(this"wifi is open! gprs", Toast.LENGTH_SHORT).show(); 
  60. //判断为wifi状态下才加载广告,如果是GPRS手机网络则不加载! 
  61. if(wifi == State.CONNECTED || wifi == State.CONNECTING){ 
  62. Toast.makeText(this"wifi is open! wifi", Toast.LENGTH_SHORT).show(); 
  63. loadAdmob(); 

希望本文所述对大家Android程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表