Android判断网络类型的方法(2g,3g还是wifi)_Android

本文实例讲述了Android判断网络类型的方法。分享给大家供大家参考,具体如下:

判断网络类型是wifi,还是3G,还是2G网络,对不同的网络进行不同的处理,现将判断方法整理给大家,以供参考

说明:下面用到的数据移动2G,联通2G,联通3G,wifi我都已经测试过,暂时手上没有电信的卡,所以没有验证,有电信手机的同事,可以验证一下,验证后将结果发送给大家。

ConnectivityManager connectMgr = (ConnectivityManager) this
    .getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connectMgr.getActiveNetworkInfo();

一、判断网络是否是wifi,在判断之前一定要进行的非空判断,如果没有任何网络连接

info ==null
info.getType() == ConnectivityManager.TYPE_WIFI

二、判断是否是手机网络

info !=null && info.getType() == ConnectivityManager.TYPE_MOBILE

手机网络进行详细区分:

info.getSubtype() 这里使用 getSubtype(),不是 getType(),getType()返回的是0,或者1,是区分是手机网络还是wifi

info.getSubtype()取值列表如下:

* NETWORK_TYPE_CDMA 网络类型为CDMA
* NETWORK_TYPE_EDGE 网络类型为EDGE
* NETWORK_TYPE_EVDO_0 网络类型为EVDO0
* NETWORK_TYPE_EVDO_A 网络类型为EVDOA
* NETWORK_TYPE_GPRS 网络类型为GPRS
* NETWORK_TYPE_HSDPA 网络类型为HSDPA
* NETWORK_TYPE_HSPA 网络类型为HSPA
* NETWORK_TYPE_HSUPA 网络类型为HSUPA
* NETWORK_TYPE_UMTS 网络类型为UMTS

联通的3G为UMTS或HSDPA,移动和联通的2G为GPRS或EDGE,电信的2G为CDMA,电信的3G为EVDO

android获取手机的ip地址

private String getPhoneIp() {
    try {
      for (Enumeration<NetworkInterface> en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
        NetworkInterface intf = en.nextElement();
        for (Enumeration<InetAddress> enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();) {
          InetAddress inetAddress = enumIpAddr.nextElement();
          if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet4Address) {
          //if (!inetAddress.isLoopbackAddress() && inetAddress instanceof Inet6Address) {
            return inetAddress.getHostAddress().toString();
          }
        }
      }
    } catch (Exception e) {
    }
    return "";
}

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android数据库操作技巧总结》及《Android控件用法总结》

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索android
, 判断
网络类型
android 判断2g 3g 4g、ios 判断2g 3g 4g、android 2g 3g 4g、android 判断网络类型、android 判断文件类型,以便于您获取更多的相关知识。

时间: 2024-09-09 05:47:08

Android判断网络类型的方法(2g,3g还是wifi)_Android的相关文章

Android检查手机网络状态及网络类型的方法_Android

本文实例讲述了Android检查手机网络状态及网络类型的方法.分享给大家供大家参考.具体分析如下: //judge network status is connecting or not public static boolean checkNetworkConnected(Context context) { if (null!=context) { ConnectivityManager connectivityManager = (ConnectivityManager) context

Android中判断有无可用网络的代码(是否是3G或者WIFI网络)_Android

复制代码 代码如下: ConnectivityManager mConnectivity = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); TelephonyManager mTelephony = (TelephonyManager)this.getSystemService(TELEPHONY_SERVICE); //检查网络连接,如果无网络可用,就不需要进行连网操作等 NetworkInfo inf

Android检查手机网络状态及网络类型的方法

本文实例讲述了Android检查手机网络状态及网络类型的方法.分享给大家供大家参考.具体分析如下: //judge network status is connecting or not public static boolean checkNetworkConnected(Context context) { if (null!=context) { ConnectivityManager connectivityManager = (ConnectivityManager) context

Android中判断有无可用网络的代码(是否是3G或者WIFI网络)

复制代码 代码如下: ConnectivityManager mConnectivity = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); TelephonyManager mTelephony = (TelephonyManager)this.getSystemService(TELEPHONY_SERVICE); //检查网络连接,如果无网络可用,就不需要进行连网操作等 NetworkInfo inf

android 强制2G/3G或WIFI 优先上网

android开发中有时候需要设定程序连接网络优先 2G/3G 或 WIFI,下面片段代码给出设置方法: public void setPreferredNetwork(int networkType) { ConnectivityManager connMgr = (ConnectivityManager) this.context.getSystemService("connectivity"); if (networkType == NetworkType.TYPE_MOBILE

Android 判断网络状态实例详解

Android 判断网络状态实例详解 实例代码 package com.example.android; import java.io.IOException; import java.net.HttpURLConnection; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.SocketException; import java.net.URL; import java.util.

Android 判断网络状态

 Android 判断网络状态这一应用技巧在实际应中是比较重要的.那么,在Android操作系统中,如何能够正确的判断我们所连接的网络是否断开恩?今天我们就针对这一应用技巧进行一个详细的分析. public class ConnectionChangeReceiver extends  BroadcastReceiver  {  @Override  public void onReceive( Context context, Intent intent )  {  ConnectivityM

java获取网络类型的方法_java

本文实例讲述了java获取网络类型的方法.分享给大家供大家参考.具体如下: /**** * 获取网络类型 * * @param context * @return */ public static String getNetType(Context context) { try { ConnectivityManager connectMgr = (ConnectivityManager) context .getSystemService(Context.CONNECTIVITY_SERVIC

php通过获取头信息判断图片类型的方法

本文实例讲述了php通过获取头信息判断图片类型的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 $filename = '617.gif' ; function pictype ( $file ) { /*$png_header = "/x89/x50/x4e/x47/x0d/x0a/x1a/x0a"; $jpg_header = "/xff/xd