Android网络开发的时候,需要判断当前网络连接方式是wifi还是wap,如果是wap则需要通过使用代理访问。
为什么需要使用代理访问?
WAP只是一种GPRS应用模式,它与GRPS的接入方式是无关的。WAP应用采用的实现方式是“终端+WAP网关+WAP服务器”的模式,不同于一般Internet的“终端+服务器”的工作模式。主要的目的是通过WAP网关完成WAP-WEB的协议转换以达到节省网络流量和兼容现有WEB应用的目的。
private boolean isNeedProxy(final Context context) { boolean ret = false; final ConnectivityManager connectManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); final NetworkInfo activeNetInfo = connectManager.getActiveNetworkInfo(); if (activeNetInfo != null) { final String type = activeNetInfo.getTypeName(); // WIFI not available if (type.equalsIgnoreCase("WIFI")) { ret = false; } //Mobile else if (type.equalsIgnoreCase("MOBILE")) { final String mobileProxyIp = android.net.Proxy.getHost(context); final int mobileProxyPort = android.net.Proxy.getPort(context); if (mobileProxyIp == null || "".equals(mobileProxyIp) || mobileProxyPort == 0) { ret = false; } else { hostUrl = mobileProxyIp; hostPort = mobileProxyPort; ret = true; } } } return ret; }