android 判断 网络 类型
2014-07-08 16:52
447 查看
1.获取sim卡类型
private static int getMobileType(Context context)
{
int type = -1; //无卡
TelephonyManager iPhoneManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
String iNumeric = iPhoneManager.getSimOperator();
if (iNumeric.length() > 0)
{
if (iNumeric.equals("46000") || iNumeric.equals("46002"))
{
// 中国移动
type=0;
}
else if (iNumeric.equals("46001"))
{
// 中国联通
type=1;
}
else if (iNumeric.equals("46003"))
{
// 中国电信
type=2;
}
}
return type;
}
2./** 获取网络信息 */
// 网络状态
public static final String UNKNWON = "unkwon";
public static final String NOT_AVAILABLE = "not_avaible";
public static final String WIFI = "wifi";
public static final String G3NET = "3gnet";
public static final String G3WAP = "3gwap";
public static final String UNINET = "uninet";
public static final String UNIWAP = "uniwap";
public static final String CMNET = "cmnet";
public static final String CMWAP = "cmwap";
public static final String CTNET = "ctnet";
public static final String CTWAP = "ctwap";
public static final String MOBILE = "mobile";
public static String getNetApn() {
if (CenterApp.getContext().checkCallingOrSelfPermission("android.permission.ACCESS_NETWORK_STATE") == PackageManager.PERMISSION_DENIED) {
return UNKNWON;
}
ConnectivityManager connectivitymanager = (ConnectivityManager) CenterApp.getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkinfo = connectivitymanager.getActiveNetworkInfo();
if (networkinfo == null || !networkinfo.isAvailable()) {
return NOT_AVAILABLE;
}
if (networkinfo.getType() == ConnectivityManager.TYPE_WIFI) {
return WIFI;
}
String netInfo = networkinfo.getExtraInfo();
if (netInfo == null) {
return UNKNWON;
}
netInfo = netInfo.toLowerCase();
if (netInfo.equals("cmnet")) {
return CMNET;
} else if (netInfo.equals("cmwap")) {
return CMWAP;
} else if (netInfo.equals("3gnet")) {
return G3NET;
} else if (netInfo.equals("3gwap")) {
return G3WAP;
} else if (netInfo.equals("uninet")) {
return UNINET;
} else if (netInfo.equals("uniwap")) {
return UNIWAP;
} else if (netInfo.equals("ctnet")) {
return CTNET;
} else if (netInfo.equals("ctwap")) {
return CTWAP;
} else {
return MOBILE;
}
}
private static int getMobileType(Context context)
{
int type = -1; //无卡
TelephonyManager iPhoneManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
String iNumeric = iPhoneManager.getSimOperator();
if (iNumeric.length() > 0)
{
if (iNumeric.equals("46000") || iNumeric.equals("46002"))
{
// 中国移动
type=0;
}
else if (iNumeric.equals("46001"))
{
// 中国联通
type=1;
}
else if (iNumeric.equals("46003"))
{
// 中国电信
type=2;
}
}
return type;
}
2./** 获取网络信息 */
// 网络状态
public static final String UNKNWON = "unkwon";
public static final String NOT_AVAILABLE = "not_avaible";
public static final String WIFI = "wifi";
public static final String G3NET = "3gnet";
public static final String G3WAP = "3gwap";
public static final String UNINET = "uninet";
public static final String UNIWAP = "uniwap";
public static final String CMNET = "cmnet";
public static final String CMWAP = "cmwap";
public static final String CTNET = "ctnet";
public static final String CTWAP = "ctwap";
public static final String MOBILE = "mobile";
public static String getNetApn() {
if (CenterApp.getContext().checkCallingOrSelfPermission("android.permission.ACCESS_NETWORK_STATE") == PackageManager.PERMISSION_DENIED) {
return UNKNWON;
}
ConnectivityManager connectivitymanager = (ConnectivityManager) CenterApp.getContext().getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkinfo = connectivitymanager.getActiveNetworkInfo();
if (networkinfo == null || !networkinfo.isAvailable()) {
return NOT_AVAILABLE;
}
if (networkinfo.getType() == ConnectivityManager.TYPE_WIFI) {
return WIFI;
}
String netInfo = networkinfo.getExtraInfo();
if (netInfo == null) {
return UNKNWON;
}
netInfo = netInfo.toLowerCase();
if (netInfo.equals("cmnet")) {
return CMNET;
} else if (netInfo.equals("cmwap")) {
return CMWAP;
} else if (netInfo.equals("3gnet")) {
return G3NET;
} else if (netInfo.equals("3gwap")) {
return G3WAP;
} else if (netInfo.equals("uninet")) {
return UNINET;
} else if (netInfo.equals("uniwap")) {
return UNIWAP;
} else if (netInfo.equals("ctnet")) {
return CTNET;
} else if (netInfo.equals("ctwap")) {
return CTWAP;
} else {
return MOBILE;
}
}
相关文章推荐
- Android 手机运营商及网络类型判断
- Android 源码 判断网络数据类型
- Android 判断网络类型
- android如何判断当前网络类型(联网,2g,3g,wifi等)
- Android网络类型判断
- android判断网络的类型
- android判断用户网络类型
- Android网络类型判断(2g、3g、wifi)
- Android 判断网络是否可用、网络类型WIFI/2G/3G/4G及获取IP
- Android 网络类型判断
- Android网络类型判断(2g、3g、wifi)
- android 网络连接状态判断与数据类型
- Android网络类型判断(2g、3g、wifi)
- Android网络类型判断(2g、3g、wifi)(待续)
- Android: 判断网络连接状态及连接类型
- android当前网络连接类型判断
- Android网络类型判断(2g、3g、wifi) .
- android网络类型判断
- Android判断当前网络类型
- Android判断当前网络类型2G/3G/4G/WIFI