1.获取ip地址
public String getLocalIpAddress() {
if(((ConnectivityManager) this.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo()==null)
{
return “无网络”;
}
try {
for (Enumeration en = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();) {
NetworkInterface intf = en.nextElement();
for (Enumeration enumIpAddr = intf
.getInetAddresses(); enumIpAddr.hasMoreElements();) {
InetAddress inetAddress = enumIpAddr.nextElement();
if (!inetAddress.isLoopbackAddress() && !inetAddress.isLinkLocalAddress()) {
return inetAddress.getHostAddress().toString();
}
}
}
} catch (SocketException ex) {
Log.e(“WifiPreference IpAddress”, ex.toString());
}
return “无网络”;
}

2.获取2,3,4g和wifi
public static String GetNetworkType()
{
String strNetworkType = “”;
ConnectivityManager connectivityManager=(ConnectivityManager)ConfigManager.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectivityManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected())
{
if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI)
{
strNetworkType = “WIFI”;
}
else if (networkInfo.getType() == ConnectivityManager.TYPE_MOBILE)
{
String _strSubTypeName = networkInfo.getSubtypeName();

            Log.e("cocos2d-x", "Network getSubtypeName : " + _strSubTypeName);            // TD-SCDMA   networkType is 17            int networkType = networkInfo.getSubtype();            switch (networkType) {                case TelephonyManager.NETWORK_TYPE_GPRS:                case TelephonyManager.NETWORK_TYPE_EDGE:                case TelephonyManager.NETWORK_TYPE_CDMA:                case TelephonyManager.NETWORK_TYPE_1xRTT:                case TelephonyManager.NETWORK_TYPE_IDEN: //api<8 : replace by 11                    strNetworkType = "2G";                    break;                case TelephonyManager.NETWORK_TYPE_UMTS:                case TelephonyManager.NETWORK_TYPE_EVDO_0:                case TelephonyManager.NETWORK_TYPE_EVDO_A:                case TelephonyManager.NETWORK_TYPE_HSDPA:                case TelephonyManager.NETWORK_TYPE_HSUPA:                case TelephonyManager.NETWORK_TYPE_HSPA:                case TelephonyManager.NETWORK_TYPE_EVDO_B: //api<9 : replace by 14                case TelephonyManager.NETWORK_TYPE_EHRPD:  //api<11 : replace by 12                case TelephonyManager.NETWORK_TYPE_HSPAP:  //api<13 : replace by 15                    strNetworkType = "3G";                    break;                case TelephonyManager.NETWORK_TYPE_LTE:    //api<11 : replace by 13                    strNetworkType = "4G";                    break;                default:                    // http://baike.baidu.com/item/TD-SCDMA 中国移动 联通 电信 三种3G制式                    if (_strSubTypeName.equalsIgnoreCase("TD-SCDMA") || _strSubTypeName.equalsIgnoreCase("WCDMA") || _strSubTypeName.equalsIgnoreCase("CDMA2000"))                     {                        strNetworkType = "3G";                    }                    else                    {                        strNetworkType = _strSubTypeName;                    }                    break;             }            Log.e("cocos2d-x", "Network getSubtype : " + Integer.valueOf(networkType).toString());        }    }    Log.e("cocos2d-x", "Network Type : " + strNetworkType);    return strNetworkType;}

3.判断有,无网络。
public boolean isNetworkAvailable(Activity activity)
{
Context context = activity.getApplicationContext();
// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)
ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivityManager == null)
{
return false;
}

    NetworkInfo mNetworkInfo = connectivityManager.getActiveNetworkInfo();        if (mNetworkInfo != null) {            return mNetworkInfo.isAvailable();        }     else{        return false;    }

}

更多相关文章

  1. android之通过URL来获取网络资源并下载资源简单实例
  2. Android通过广播判断网络连接(仿QQ网络连接显示)
  3. Android 检查是否有网络
  4. Android网络技术
  5. Android快速开发框架之xUtils---网络模块
  6. Android使用HttpURLConnection请求网络返回JSON数据并解析
  7. Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
  8. Android Mediaplayer error (1, -2147483648) Error (-38,0)解决
  9. android studio 使用网络版本的gradle

随机推荐

  1. Android中通过资源文件获取drawable的几
  2. android 如何查找内存泄漏
  3. Application Fundamentals-Components
  4. Android8.1 系统修改默认的wifi直连名字
  5. Android(安卓)studio简单计算机
  6. 安装Android(安卓)studio 时候显示:SDK to
  7. Android(安卓)Bundle类
  8. Android单元测试总结
  9. 当scroll时改变item的背景
  10. 深入浅出Android之学习笔记