1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/** 
  * 测试ConnectivityManager 
  * ConnectivityManager主要管理和网络连接相关的操作 
  * 相关的TelephonyManager则管理和手机、运营商等的相关信息;WifiManager则管理和wifi相关的信息。 
  * 想访问网络状态,首先得添加权限<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>  
  * NetworkInfo类包含了对wifi和mobile两种网络模式连接的详细描述,通过其getState()方法获取的State对象则代表着 
  * 连接成功与否等状态。 
  *  
  */  
 public void testConnectivityManager() {  
  ConnectivityManager connManager = (ConnectivityManager) this  
    .getSystemService(CONNECTIVITY_SERVICE);  
  // 获取代表联网状态的NetWorkInfo对象  
  NetworkInfo networkInfo = connManager.getActiveNetworkInfo();  
  // 获取当前的网络连接是否可用  
  boolean available = networkInfo.isAvailable();  
  if(available){  
   Log.i("通知""当前的网络连接可用");  
  }  
  else{  
   Log.i("通知""当前的网络连接可用");  
  }  
   
  State state = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState();  
  if(State.CONNECTED==state){  
   Log.i("通知""GPRS网络已连接");  
  }  
     
  state = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();  
  if(State.CONNECTED==state){  
   Log.i("通知""WIFI网络已连接");  
  }  
     
  // 跳转到无线网络设置界面  
  startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));  
  // 跳转到无限wifi网络设置界面  
  startActivity(new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS));  
     
 }

android中判断网络连接是否可用

一、判断网络连接是否可用

  1. public static boolean isNetworkAvailable(Context context) {

  2. ConnectivityManager cm = (ConnectivityManager) context

  3. .getSystemService(Context.CONNECTIVITY_SERVICE);

  4. if (cm == null) {

  5. } else {

  6.        //如果仅仅是用来判断网络连接

  7.         //则可以使用 cm.getActiveNetworkInfo().isAvailable();

  8. NetworkInfo[] info = cm.getAllNetworkInfo();

  9. if (info != null) {

  10. for (int i = 0; i < info.length; i++) {

  11. if (info[i].getState() == NetworkInfo.State.CONNECTED) {

  12. return true;

  13. }

  14. }

  15. }

  16. }

  17. return false;

  18. }

二、判断GPS是否打开

  1. public static boolean isGpsEnabled(Context context) {

  2. LocationManager lm = ((LocationManager) context

  3. .getSystemService(Context.LOCATION_SERVICE));

  4. List accessibleProviders = lm.getProviders(true);

  5. return accessibleProviders != null && accessibleProviders.size() > 0;

  6. }

三、判断WIFI是否打开

  1. public static boolean isWifiEnabled(Context context) {

  2. ConnectivityManager mgrConn = (ConnectivityManager) context

  3. .getSystemService(Context.CONNECTIVITY_SERVICE);

  4. TelephonyManager mgrTel = (TelephonyManager) context

  5. .getSystemService(Context.TELEPHONY_SERVICE);

  6. return ((mgrConn.getActiveNetworkInfo() != null && mgrConn

  7. .getActiveNetworkInfo().getState() == NetworkInfo.State.CONNECTED) || mgrTel

  8. .getNetworkType() == TelephonyManager.NETWORK_TYPE_UMTS);

  9. }

四、判断是否是3G网络

  1. public static boolean is3rd(Context context) {

  2. ConnectivityManager cm = (ConnectivityManager) context

  3. .getSystemService(Context.CONNECTIVITY_SERVICE);

  4. NetworkInfo networkINfo = cm.getActiveNetworkInfo();

  5. if (networkINfo != null

  6. && networkINfo.getType() == ConnectivityManager.TYPE_MOBILE) {

  7. return true;

  8. }

  9. return false;

  10. }

五、判断是wifi还是3g网络,用户的体现性在这里了,wifi就可以建议下载或者在线播放。

    1. public static boolean isWifi(Context context) {

    2. ConnectivityManager cm = (ConnectivityManager) context

    3. .getSystemService(Context.CONNECTIVITY_SERVICE);

    4. NetworkInfo networkINfo = cm.getActiveNetworkInfo();

    5. if (networkINfo != null

    6. && networkINfo.getType() == ConnectivityManager.TYPE_WIFI) {

    7. return true;

    8. }

    9. return false;

    10. }

 

5、android ConnectivityManager获取网络状态的更多相关文章

  1. android开发获取网络状态,wifi,wap,2g,3g.工具类(一)

    android开发获取网络状态整理: package com.gzcivil.utils; import android.content.Context; import android.net.Con ...

  2. android 中获取网络状态、判断3G、2G、wifi网络、判断wifi是否打开、获取本机地址、获取本机串号IMEI整理

    代码如下:package com.android.xym; import java.io.IOException; import java.net.HttpURLConnection; import ...

  3. Android获取网络状态

    Android获取网络状态 学习自 https://developer.android.google.cn/reference/android/net/ConnectivityManager http ...

  4. Android开发——监听Android手机的网络状态

    0. 前言 在Android开发中监听手机的网络状态是一个常见的功能,比如在没网的状态下进行提醒并引导用户打开网络设置,或者在非wifi状态下开启无图模式等等.因此本篇将网上的资料进行了整理总结,方便 ...

  5. React Native之Fetch简单封装、获取网络状态

    1.Fetch的使用 fetch的使用非常简单,只需传入请求的url fetch('https://facebook.github.io/react-native/movies.json'); 当然是 ...

  6. [React Native]获取网络状态

    使用React Native,可以使用NetInfo API获取手机当前的各个网络状态. componentWillMount() { NetInfo.fetch().done((status)=&g ...

  7. iOS 获取网络状态

    在iOS开发者,获取网络状态比较常用 -(NSString *)getNetWorkStates{ UIApplication *app = [UIApplication sharedApplicat ...

  8. 微信小程序 --- 获取网络状态

    获取网络状态:wx.getNetworkType btnclick:function(){ wx.getNetworkType({ success:function(res){ console.log ...

  9. C#获取网络状态

    /// <summary> /// 获取网络状态 /// </summary> /// <param name="ip">目标IP地址</ ...

随机推荐

  1. 用mysql++读写二进制

    方法1: // mysqlTest.cpp : 定义控制台应用程序的入口点. #include "stdafx.h" #include <mysql++.h> #inc ...

  2. btrfs使用方法

    创建文件系统 mkfs.btrfs 命令建立一个 btrfs 格式的文件系统.可以用如下命令在设备 sda5 上建立一个 btrfs 文件系统,并将其挂载到 /btrfsdisk 目录下: #mkfs ...

  3. Python3基础 int(input())输入数字并产生一个int类型变量

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  4. 太牛X了!神奇的故事 你猜得到开头,却猜不到结尾

    他在北京发来消息:“我明天去看你,来接我,好么?” 她在南京,开心地回复:“恩啊” 第二天,她在车站搜寻过往人群中他的身影, 期待又焦急“你到底在哪儿?” “傻瓜,你不会真在车站吧,今天是愚人节哎,哈 ...

  5. Working with Binary Data in Python

    http://www.devdungeon.com/content/working-binary-data-python

  6. Beaglebone Black – 连接 GY-91 MPU9250+BMP280 九轴传感器(1)

    本篇内容为,通过 I2C 配置 GY-91 MPU9250+BMP280 里面的 MPU9250 连接 AK8963 磁感应.两个办法,1)MPU9250 设置 Master Mode 通过 AUX ...

  7. 14.KVM安装之脚本和镜像目录树准备

    1.php脚本需要先安装PHP环境,Apache服务器必须支持PHP $ yum install -y php    #安装PHP $ php -v                      #查看是 ...

  8. Install Google Pinyin on Ubuntu 14.04

    Install Google Pinyin on Ubuntu 14.04 I've been spending more and more time on Ubuntu and I'm not us ...

  9. Java 集合 - LinkedList

    一.源码解析 (1). 属性 // 链表长度 transient int size = 0; // 链首和链尾 transient Node<E> first; transient Nod ...

  10. ITerm2下使用ssh访问Linux

    通常情况下,iTerm2访问远程Linux使用ssh,与Termial基本一样,方法如下: ssh <用户名>@<ip> 然后输入访问的密码即可.当然还有的时候需要指定访问端口 ...