android用户网络检测工具

本文介绍了一个Java类NetUtil,用于检查设备的网络状态,包括Wi-Fi和移动数据连接,并提供了读取当前活动APN设置的方法以确定是否使用代理。
public class NetUtil{
	
	private static String PROXY = "";      // 移动运营商代理: 中国移动:10.0.0.172 其它的忘了
	private static int PORT = 0;           // 端口:80
	/**
	 * 检查用户网络
	 */
	public static boolean checkNet(Context context){
		// 判断WIFI连接
		boolean isWifi = isWifiConnection(context);
		// 判断Mobile连接
		boolean isMobile = isMobileConnection(context);
		// 如果Mobile连接,判断是哪个APN被选中了
		if(isMobile){
			// APN被选中,代理信息是否有内容,如果wap方式
			readAPN(context); // 判断是哪个APN被选中

			// TODO
		}
		
		if(!isWifi && !isMobile){
			return false;
		}
		
		return true;
	}

	/**
	 * 读取被选中的APN
	 * @param context
	 */
	private static void readAPN(Context context) {
		// 操作联系人
		ContentResolver resolver = context.getContentResolver();
		Uri uri = Uri.parse("content://telephony/carriers/preferapn");
		
		Cursor cursor = resolver.query(uri, null, null, null, null);
		if(cursor!=null && cursor.moveToNext()){
			PROXY = cursor.getString(cursor.getColumnIndex("proxy"));
			PORT = cursor.getInt(cursor.getColumnIndex("port"));
		}
	}

	/**
	 * 判断: Mobile连接
	 * @param context
	 * @return
	 */
	private static boolean isMobileConnection(Context context) {
		ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo networkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
		if(networkInfo!=null){
			return networkInfo.isConnected();
		}
		return false;
	}
	
	/**
	 * 判断: Wifi连接
	 * @param context
	 * @return
	 */
	private static boolean isWifiConnection(Context context) {
		ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
		NetworkInfo networkInfo = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
		if(networkInfo!=null){
			return networkInfo.isConnected();
		}
		return false;
	}
}

易游网络验证插件是为软件作者设计的一套完整免费的用户登录权限网络验证体系。可以为开发的软件增加收费授权的功能,让作者开发的软件可以进行登陆验证、销售、充值等操作,并且提供防破解验证功能,可以更好的保护您的作品。同时增加了一系列代理管理机制,让您更好的管理代理售卡、换卡、结算等操作。支持的程序语言有:C#、c++、VB、VC、易语言、按键精灵等能调用dll的相关开发语言。 使用易游网络验证插件的特点: 1、完全免费使用 使用易游网络验证服务,完全免费使用:用户登录、代理管理、卡密管理等基本功能,无需担心收费功能影响软件使用! 2、节省软件成本 使用易游网络验证服务,不需要购置服务器,登录易游后台配置自己的应用程序相关设置,客户端直接调用COM组件就能实现网络验证! 3、缩短开发周期 不需要过多的繁琐操作,调用易游网络验证COM组件或者webservice就可以实现验证机制,无需再书写验证用户登录,用户管理,卡密管理等繁琐的代码,开发软件只要专注程序代码即可! 4、安全防破解 将重要数据存放在服务器中,只有当客户登陆成功后才会返回相应的重要数据,就算被破解的,没有这些重要数据,破解出来的也是无法使用!同时,使用易游提供的COM组件,内置安全的传输加密机制,让软件重要数据在传输过程中更安全! 5、代理管理更简单 使用易游网络验证服务后台管理,可以对各个程序的每个代理单独进行管理。同时增加了一系列代理管理机制,让您跟更好的管理代理售卡、换卡、结算等操作!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值