判断手机网络状态

写了个判断网络状态的工具类,可以直接拿过来用。

public class NetTools {


/* 代码IP */
private static String PROXY_IP = null;
/* 代理端口 */
private static int PROXY_PORT = 0;

// 判断当前是否有网络连接
public static boolean isNetwork(Context context) {
boolean network = isWifi(context);
boolean mobilework = isMobile(context);
if (!network && !mobilework) { // 无网络连接
Log.d("NetTools", "无网路链接!");
return false;
} else if (network == true && mobilework == false) { // wifi连接
Log.d("NetTools", "wifi连接!");
} else { // 网络连接
Log.d("NetTools", "手机网路连接,读取代理信息!");
readProxy(context); // 读取代理信息
return true;
}
return true;
}

// 读取网络代理
public static void readProxy(Context context) {
Uri uri = Uri.parse("content://telephony/carriers/preferapn");
ContentResolver resolver = context.getContentResolver();
Cursor cursor = resolver.query(uri, null, null, null, null);
if (cursor != null && cursor.moveToFirst()) {
PROXY_IP = cursor.getString(cursor.getColumnIndex("proxy"));
PROXY_PORT = cursor.getInt(cursor.getColumnIndex("port"));

Log.d("NetTools", ",PROXY_IP = " + PROXY_IP + ",PROXY_PORT = "
+ PROXY_PORT);
}
cursor.close();
}

// 判断当前网络是否是手机网络
public static boolean isMobile(Context context) {
ConnectivityManager connectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo networkInfo = connectivityManager
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (networkInfo != null) {
return networkInfo.isConnected();
}
return false;
}

// 判断当前网络是否是wifi
public static boolean isWifi(Context context) {
ConnectivityManager manager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = manager
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (info != null) {
return info.isConnected();
}
return false;
}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值