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;
}