1. package com.example.administrator.yunstore.net;
  2.  
  3. import android.app.AlertDialog;
  4. import android.content.ComponentName;
  5. import android.content.Context;
  6. import android.content.DialogInterface;
  7. import android.content.Intent;
  8. import android.net.ConnectivityManager;
  9. import android.net.NetworkInfo;
  10.  
  11. import com.example.administrator.yunstore.R;
  12.  
  13. /**
  14. * Created by Administrator on 2016/10/20.
  15. */
  16.  
  17. public class CheckNetException{
  18.  
  19. private ConnectivityManager connectivityManager;
  20. private Context context;
  21. public CheckNetException(Context context){
  22. this.context=context;
  23. }
  24.  
  25. /**
  26. * @return 网络是否连接
  27. */
  28. public boolean checkNetConn() {
  29.  
  30. //得到网络链接管理器
  31. connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
  32. //获取网络链接信息
  33. NetworkInfo activeNetworkInfo = connectivityManager.getActiveNetworkInfo();
  34. //判断网络是否链接
  35. if (activeNetworkInfo != null) {
  36. if (activeNetworkInfo.isConnected()) {
  37. return true;
  38. } else {
  39. return false;
  40. }
  41. }
  42. return false;
  43. }
  44.  
  45. /**
  46. * 设置wifi
  47. */
  48. public void setNetWork(){
  49. AlertDialog.Builder alert=new AlertDialog.Builder(context);
  50. alert.setIcon(R.drawable.set);
  51. alert.setTitle("网络提示信息");
  52. alert.setMessage("网络不可用,如果继续,请先设置网络!");
  53. alert.setPositiveButton("设置网络", new DialogInterface.OnClickListener() {
  54. @Override
  55. public void onClick(DialogInterface dialog, int which) {
  56.  
  57. Intent intent = null;
  58. /**
  59. * 判断手机系统的版本!如果API大于10 就是3.0+
  60. * 因为3.0以上的版本的设置和3.0以下的设置不一样,调用的方法不同
  61. */
  62. if (android.os.Build.VERSION.SDK_INT > 10) {
  63. intent = new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS);
  64. } else {
  65. intent = new Intent();
  66. ComponentName component = new ComponentName(
  67. "com.android.settings",
  68. "com.android.settings.WirelessSettings");
  69. intent.setComponent(component);
  70. intent.setAction("android.intent.action.VIEW");
  71. }
  72. context.startActivity(intent);
  73. }
  74. });
  75. alert.setNegativeButton("暂不设置", new DialogInterface.OnClickListener() {
  76. @Override
  77. public void onClick(DialogInterface dialog, int which) {
  78.  
  79. }
  80. });
  81. alert.create();
  82. alert.show();
  83. }
  84.  
  85. /**
  86. * 判断网络为GPRS还是WIFI
  87. * 返回1:GPRS;
  88. * 返回2:WiFi;
  89. * 返回3:error;
  90. */
  91. public int judgeNew(){
  92. NetworkInfo.State gprs = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();
  93. NetworkInfo.State wifi = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
  94. if(gprs == NetworkInfo.State.CONNECTED || gprs == NetworkInfo.State.CONNECTING){
  95. // Toast.makeText(context, "This is gprs", Toast.LENGTH_SHORT).show();
  96. return 1;
  97. }
  98. if(wifi == NetworkInfo.State.CONNECTED || wifi == NetworkInfo.State.CONNECTING){
  99. //Toast.makeText(context, "This is wifi", Toast.LENGTH_SHORT).show();
  100. return 2;
  101. }
  102. return 3;
  103. }
  104.  
  105. }

Android 网络状态检测的更多相关文章

  1. 如何消除原生Android网络状态上的惊叹号

    喜欢使用原生Android系统的朋友可能会发现自己的状态栏信号图标上经常有一个惊叹号标志. 这是怎么回事呢?原因是Android为了对网络状态进行检测,采用了一种叫做captive detection ...

  2. Phonegap学习点滴(2) -- 网络状态检测

    Phonegap学习点滴(2) -- 网络状态检测  http://blog.csdn.net/x251808026/article/details/16992943 方法一:在MainActivit ...

  3. SDWebImage -- 封装 (网络状态检测,是否打开手机网络下下载高清图设置)

    对SDWebImage 进行封装,为了更好的节省用户手机流量,并保证在移动网络下也展示高清图,对使用SDWebImage 下载图片之前进行逻辑处理,根据本地缓存中是否有缓存原始的图片,用户是否打开移动 ...

  4. Android网络状态监控

    Android 监控网络状态 在Android网络应用程序开发中,经常要判断网络连接是否可用,因此经常有必要监听网络状态的变化.android的网络状态监听可以用BroadcastReceiver来接 ...

  5. [android网络有效性检测] NetworkMonitor代码造成内存泄漏

    造成内存泄漏的log如下: E StrictMode: A resource was acquired at attached stack trace but never released. See ...

  6. android 网络状态判断【转】

    import java.net.InetAddress; import android.app.Activity;import android.content.Context;import andro ...

  7. Android 网络状态的监控

    1 http://www.cnblogs.com/qingblog/archive/2012/07/19/2598983.html 2

  8. android 网络连接判断

    Android 网络判断类,用来判断网络状态 使用方法: (1)先初始化 //初始化网络状态检测类 NetworkStateManager.instance().init(this); (2)判断是否 ...

  9. iOS开发 -------- 网络状态监测

    一 示例代码 需要先把第三方Reachability下载导入到工程中  下载网址  https://github.com/tonymillion/Reachability 1 封装网络工具类 Netw ...

随机推荐

  1. 338. Counting Bits

    https://leetcode.com/problems/counting-bits/ 给定一个非负数n,输出[0,n]区间内所有数的二进制形式中含1的个数 Example: For num = 5 ...

  2. MySQL 保留字

    ADD ALL ALTER ANALYZE AND AS ASC ASENSITIVE BEFORE BETWEEN BIGINT BINARY BLOB BOTH BY CALL CASCADE C ...

  3. 【转】 Android WebView内容宽度自适应

    我们平常在项目中有可能会遇到网页的内容是通过json数据传递到app上面用WebView来显示的,这时候我们通常都要调整内容的总宽度不超过父容器的宽度,这样子用户可以不用左右滑动就可以看到全部的内容. ...

  4. iOS 私有变量 私有方法

    实例变量既可以在@interface中定义 也可以在@implementation中定义 在@implementation中的成员变量默认是私有的成员变量 并且和利用@private修饰的不太一样 在 ...

  5. Team Foundation Server源代码管理多人开发的使用心得

    问题1:多人使用TFS源代码管理器的时候,往往会造成同个文件内源代码不一致,覆盖别人的代码. 解决方案: 给多个人分配不同的开发任务,保证每个人修改的文件都不会重叠. 但有些情况无法避免多个人同时修改 ...

  6. 初入水:vector

    ---恢复内容开始---Vector 是一个类模板.不是一种数据类型. Vector<int>是一种数据类型 类的作用,是一种顺序容器,支持随机访问,可动态分配空间(扩充:销毁旧内存,更新 ...

  7. React学习笔记-5-初始化阶段介绍

    初始化阶段可以使用的函数:getDefaultProps:只调用一次,实例之间共享引用.只有在组件的第一个实例被初始化的时候,才会调用他,然后react会把这个函数的返回结果保存起来,从第二个实例开始 ...

  8. libsvm下的windows版本中的工具的使用

    下载的libsvm包里面已经为我们编译好了(windows).进入libsvm\windows,可以看到这几个exe文件: a.svm-toy.exe:图形界面,可以自己画点,产生数据等. b.svm ...

  9. javascript 核心语言笔记 6 - 对象

    对象是 JavaScript 的基本数据类型.是一种复合值:将很多值聚合在一起.对象可以看做是无序集合,每个属性都是一个名/值对.这种基本数据结构还有很多叫法,比如「散列」(hash).「散列表」(h ...

  10. MySQL的一些知识。

    新MySQL而言:对于myisam引擎的表select默认是会锁定该表(共享锁)的 ,会导致其他操作挂起,处于等待状态.对于innodb引擎的表select默认是不会锁表(也不会锁行,简而言之就是不加 ...