android ConnectivityManager获取网络状态

?


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. }

复制去Google翻译翻译结果

时间: 2024-10-18 08:03:51

android ConnectivityManager获取网络状态的相关文章

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

android开发获取网络状态整理: 1 package com.gzcivil.utils; 2 3 import android.content.Context; 4 import android.net.ConnectivityManager; 5 import android.net.NetworkInfo; 6 import android.telephony.TelephonyManager; 7 import android.text.TextUtils; 8 9 public c

Android安卓获取网络状态

首先在AndroidManifest.xml添加权限 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 1,判断是否有网络连接 public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConnectivityManager = (Conne

Android编程 获取网络连接状态 及调用网络配置界面

获取网络连接状态 随着3G和Wifi的推广,越来越多的Android应用程序需要调用网络资源,检测网络连接状态也就成为网络应用程序所必备的功能. Android平台提供了ConnectivityManager 类,用于网络连接状态的检测. Android开发文档这样描述ConnectivityManager的作用: Class that answers queries about the state of network connectivity. It also notifies applic

Android获取网络状态

Android获取网络状态 学习自 https://developer.android.google.cn/reference/android/net/ConnectivityManager http://www.cnblogs.com/qingblog/archive/2012/07/19/2598983.html Overview 在做Android app的时候,网络的状态可能会经常的变化,当用户当前没有网络的时候,我们要保证程序不崩溃,而在当用户使用流量的话,则需要确保,在进行耗流量的操

android 监听网络状态的变化及实战

android 监听网络状态的变化及实际应用 转载请注明博客地址:http://blog.csdn.net/gdutxiaoxu/article/details/53008266 平时我们在请求错误的情况下,通常会进行处理一下,一般来说,主要分为两方面的错误 - 没有网络的错误 - 在有网络的情况下,我们客户端的错误或者服务器端的错误 今天这篇博客主要阐述以下问题 怎样监听网络状态的变化,包括是否打开WiFi,否打开数据网络,当前连接的网络是否可用 网络没有打开情况下的处理,如弹出对话框,跳转到

Android笔记之网络状态判断

1.首先当然得在 manifest 中添加检查网络状态的权限: <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission><uses-permission android:name="android.permission.INTERNET"/> 2.具体判断步骤 (1)首先要先获得Android 对连接管理的一

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

1.Fetch的使用 fetch的使用非常简单,只需传入请求的url fetch('https://facebook.github.io/react-native/movies.json'); 当然是否请求成功与数据的处理,我们还需处理成功与失败的回调 function getMoviesFromApiAsync() { return fetch('https://facebook.github.io/react-native/movies.json') .then((response) =>

iOS 获取网络状态

在iOS开发者,获取网络状态比较常用 -(NSString *)getNetWorkStates{ UIApplication *app = [UIApplication sharedApplication]; NSArray *children = [[[app valueForKeyPath:@"statusBar"]valueForKeyPath:@"foregroundView"]subviews]; NSString *state = nil; int n

Android解析获取网络上的图片(支持bmp格式)

Android学习系列 - 显示网络上的图片(支持bmp格式)) 见如下代码: /** * 到Url地址上去下载图片,并回传Bitmap回來 * * @param imgUrl * @return */ public static Bitmap getBitmapFromUrl(String imgUrl) { URL url; Bitmap bitmap = null; try { url = new URL(imgUrl); InputStream is = url.openConnecti