判断用于使用哪个渠道进行联网

本文介绍了一种Android应用中检查网络连接状态的方法,包括WiFi和移动数据(基站)的连接情况,并提供了判断是否通过WAP代理上网的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.example.lottery.net.protocal;
import org.apache.commons.lang3.StringUtils;
import com.example.lottery.GlobakeParams;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
/**
*
* @author yangzc
* @data 2015-7-2 下午10:40:17
* @desc 判断用于使用哪个渠道进行联网
*/
public class NetUtils {
/*
* 判断网络
*/
public static boolean checkNetWork(Context context) {
// 工作内容
// 1.判断wifi是否处于可连接状态
// 2.哦按段基站是否处于可连接状态
// wifi和基站无法联网
// 基站联网:wap(使用工具,代理信息设置)
// 判断wap还是net,读取代理配置信息,如果ip不为空wap
boolean isWifi = isWifiConnection(context);
boolean isBaseStation = isBaseStationConnection(context);
if (!isWifi && !isBaseStation) {
return false;
}
if (isBaseStation) {
String ip = android.net.Proxy.getDefaultHost();
if (StringUtils.isNotBlank(ip)) {
GlobakeParams.isWap = true;
}
}
return true;
}
/**
* 判断基站是否连接
*
* @param context
* @return
*/
private static boolean isBaseStationConnection(Context context) {
// 获取联网的管理工具
// 读取基站力王配置参数
// 判断基站是否处于连接状态
ConnectivityManager manager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = manager
.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
if (mNetworkInfo != null) {
return mNetworkInfo.isConnected();
}
return false;
}
/**
* 判断wifi是否连接
*
* @param context
* @return
*/
private static boolean isWifiConnection(Context context) {
ConnectivityManager manager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = manager
.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (mNetworkInfo != null) {
return mNetworkInfo.isConnected();
}
return false;
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值