Android检查用户是否有网络工具类

Android检查用户是否有网络工具类

public class NetUtil
{
    /**
     * 检查用户的网络:是否有网络
     */
    public static boolean checkNet(Context context)
    {
        //判断: WIFI连接
        boolean isWIFI=isWIFIConnection(context);
        //判断: Mobile连接
        boolean isMOBILE=isMOBILEConnection(context);

        //如果是Mobile连接,判断到底是哪个VPN被选中了
        if(isMOBILE)
        {
            //APN被选中,代理信息是否有内容,如果有wap方式
            readAPN(context);//判断到底是哪个VPN被选中了
        }
        if(!isWIFI && !isMOBILE)
        {
            return false;
        }


        return true;
    }
    /**
     * APN被选中,代理信息是否有内容,如果有wap方式
     * @param context
     */
    private static void readAPN(Context context)
    {
        Uri uri = Uri.parse("content://telephony/carriers/preferapn");//4.0模擬器屏蔽掉該權限

        //操作联系人类似
        ContentResolver contentResolver = context.getContentResolver();
        //判断是哪个APN被选中了
        Cursor cursor = contentResolver.query(uri, null, null, null, null);

        if(cursor != null && cursor.moveToNext())
        {
            GlobalParams.PROXY = cursor.getString(cursor.getColumnIndex("proxy"));
            GlobalParams.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;
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值