browsercapabilities.java

来自「一个免费wap站」· Java 代码 · 共 75 行

JAVA
75
字号
package com.eline.wap.cmi.util;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.PageContext;

import com.eline.wap.cmi.client.MobileHelper;
import com.eline.wap.cmi.exceptions.CMIException;
import com.eline.wap.cmi.model.MobileCapability;

/**
 * 
 * @author Lucifer
 *
 */
public class BrowserCapabilities {

	private MobileCapability current = null;
	private PageContext pageContext = null;

	public BrowserCapabilities(PageContext ctx) throws CMIException {
		initialize(ctx);
	}

	protected void initialize(PageContext ctx) throws CMIException {
		pageContext = ctx;

		String userAgent = ((HttpServletRequest) pageContext.getRequest()).getHeader("User-Agent");
		System.out.println("Header[\"User-Agent\"] = " + userAgent);
		current = findCapabilityForBestMatch(userAgent);

	}
	
	private MobileCapability findCapabilityForBestMatch(String userAgent) throws CMIException {
		MobileHelper mh = new MobileHelper();
		ArrayList capabilities = mh.getBrowserCapabilitiesByUserAgent(userAgent);

		MobileCapability current = this.getDefaultBrowser();
		
		for (int i = 0; i < capabilities.size(); i ++) {
			MobileCapability temp = (MobileCapability) capabilities.get(i);
			if (temp.getUserAgent().length() > current.getUserAgent().length())
				current = temp;
		}
		return current;
	}

	public MobileCapability getCurrent() {
		return current;
	}

	public MobileCapability getDefaultBrowser() {
		MobileCapability capability = new MobileCapability();

		capability.setIndexId(-1);	// Mark it to default browser
		capability.setUserAgent("Unknown");
		capability.setScreenPixelsWidth(150);
		capability.setScreenPixelsHeight(100);
		capability.setScreenBitDepth(16);
		capability.setPreferredRenderingMime("text/vnd.wap.wml");
		capability.setPreferredImageMime("png");
		capability.setPreferredRingMime("mid");
		capability.setDeviceModel("Unknown");
		capability.setDeviceManufacturer("Unknown");
		capability.setSupportedImages("gif;jpg;png".split(";"));
		capability.setSupportedRings("mid".split(";"));
		capability.setPreferredRingChords(16);
		capability.setCookies(true);
		capability.setColor(true);

		return capability;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?