⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 deviceconfigdetector.java

📁 检测手机浏览器是否支持PDF、javaScript、gif、jpeg、HTML、XHTML、WML、PNG、CSS等
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
	/*
	 * If it is an Opera, it can be a Nintendo or Nitro mobile browser;
	 */
	private static final DeviceConfig specialRule_60_Opera(DeviceConfig config) {
		if (config.getBrowser().equals(BrowserConstants.BROWSER_OPERA)) {
			if (config.getUser_agent().indexOf(
					BrowserConstants.BROWSER_OPERA_NINTEDO) != -1) {
				config.setMobileBrowser(true);
				config.setBrowser(BrowserConstants.BROWSER_OPERA + "/"
						+ BrowserConstants.BROWSER_OPERA_NINTEDO);
			} else if (config.getUser_agent().indexOf(
					BrowserConstants.BROWSER_OPERA_NITRO) != -1) {
				config.setMobileBrowser(true);
				config.setBrowser(BrowserConstants.BROWSER_OPERA + "/"
						+ BrowserConstants.BROWSER_OPERA_NITRO);
			}
		}
		return config;
	}

	/*
	 * If it is an Opera, it can be a Nintendo or Nitro mobile browser;
	 */
	private static final DeviceConfig specialRule_70_PlayStation(
			DeviceConfig config) {
		String u2 = config.getUser_agent().toUpperCase();
		if (u2.indexOf(BrowserConstants.MANUFACTURER_SONY_PLAYSTATION) != -1) {
			config.setManufacturer(BrowserConstants.MANUFACTURER_SONY);
			config.setMobileBrowser(true);
		}
		return config;
	}

	/*
	 * Special mobile brower detector for AvantGo, DoCoMo, KDDI, Vodafone,
	 * EudoraWeb, iPAQ, NEC, Nokia;
	 */
	private static final DeviceConfig specialRule_100_Special_Mobile_Browsers(
			DeviceConfig config) {
		if (config.getBrowser().equals(BrowserConstants.BROWSER_AVANTGO)) {
			config.setMobileBrowser(true);
		} else if (config.getBrowser().equals(BrowserConstants.BROWSER_BLAZER)) {
			config.setMobileBrowser(true);
			if (config.getManufacturer().equals(BrowserConstants.UNKNOWN)) {
				config.setManufacturer(BrowserConstants.MANUFACTURER_TREO + "/"
						+ BrowserConstants.MANUFACTURER_PALM);
			} else {
				if (config.getManufacturer().indexOf(
						BrowserConstants.MANUFACTURER_PALM) != -1) {
					config.setManufacturer(config.getManufacturer() + "/"
							+ BrowserConstants.MANUFACTURER_TREO);
				} else {
					config.setManufacturer(config.getManufacturer() + "/"
							+ BrowserConstants.MANUFACTURER_TREO + "/"
							+ BrowserConstants.MANUFACTURER_PALM);
				}
			}
		} else if (config.getManufacturer().equals(
				BrowserConstants.MANUFACTURER_SAMSUNG_1)) {
			config.setMobileBrowser(true);
		} else if (config.getBrowser().equals(BrowserConstants.BROWSER_PSION)) {
			config.setMobileBrowser(true);
			config.setManufacturer(BrowserConstants.MANUFACTURER_PSION);
		} else if (config.getBrowser().equals(BrowserConstants.BROWSER_DOCOMO)) {
			config.setMobileBrowser(true);
			config.setManufacturer(BrowserConstants.MANUFACTURER_NTT);
		} else if (config.getUser_agent()
				.indexOf(BrowserConstants.BROWSER_KDDI) != -1) {
			config.setMobileBrowser(true);
			config.setManufacturer(BrowserConstants.MANUFACTURER_EZWEB);
		} else if (config.getUser_agent().indexOf(
				BrowserConstants.BROWSER_NEC_PORTALMMM) != -1) {
			config.setMobileBrowser(true);
			config.setBrowser(BrowserConstants.BROWSER_NEC_PORTALMMM);
			config.setManufacturer(BrowserConstants.MANUFACTURER_NEC);
		} else if (config.getUser_agent().indexOf(
				BrowserConstants.BROWSER_EUDORAWEB) != -1) {
			config.setMobileBrowser(true);
			config.setBrowser(BrowserConstants.BROWSER_EUDORAWEB);
			if (config.getUser_agent().indexOf(
					BrowserConstants.MANUFACTURER_PALM) != -1) {
				config.setManufacturer(BrowserConstants.MANUFACTURER_PALM);
			}
		} else if (config.getUser_agent().indexOf(
				BrowserConstants.BROWSER_NOKIA_MAEMO) != -1) {
			config.setMobileBrowser(true);
			if (config.getBrowser().equals(BrowserConstants.UNKNOWN)) {
				config.setBrowser(BrowserConstants.BROWSER_NOKIA + "/"
						+ BrowserConstants.BROWSER_NOKIA_MAEMO);
			}
			if (config.getManufacturer().equals(BrowserConstants.UNKNOWN)) {
				config.setManufacturer(BrowserConstants.MANUFACTURER_NOKIA
						+ "?");
			}
		} else if (config.getUser_agent()
				.indexOf(BrowserConstants.BROWSER_IPAQ) != -1) {
			config.setMobileBrowser(true);
			if (config.getUser_agent().indexOf(BrowserConstants.BROWSER_PPC) != -1) {
				config.setBrowser(BrowserConstants.BROWSER_IPAQ + "/"
						+ BrowserConstants.BROWSER_PPC);
			} else {
				config.setBrowser(BrowserConstants.BROWSER_IPAQ);
			}
			config.setManufacturer(BrowserConstants.MANUFACTURER_HP);
		} else if (config.getBrowser().equals(BrowserConstants.BROWSER_O2)) {
			config.setMobileBrowser(true);
			if (config.getUser_agent().indexOf(BrowserConstants.BROWSER_PPC) != -1) {
				config.setBrowser(config.getBrowser() + "/"
						+ BrowserConstants.BROWSER_PPC);
			}
			config.setManufacturer(BrowserConstants.MANUFACTURER_HTC);
		} else if (config.getBrowser().equals(BrowserConstants.OS_Symbian)) {
			config.setMobileBrowser(true);
		} else if (config.getManufacturer().equals(
				BrowserConstants.MANUFACTURER_NOKIA)) {
			config.setMobileBrowser(true);
		} else if (config.getManufacturer().equals(
				BrowserConstants.MANUFACTURER_ALCATEL)) {
			config.setMobileBrowser(true);
		} else if (config.getBrowser()
				.equals(BrowserConstants.BROWSER_KBROWSER)) {
			config.setMobileBrowser(true);
		} else if (config.getBrowser().equals(BrowserConstants.BROWSER_CCWAP)) {
			config.setMobileBrowser(true);
			config.setManufacturer(BrowserConstants.MANUFACTURER_CHECKCOM);
		} else if (config.getBrowser().equals(BrowserConstants.BROWSER_IE)) {
			if (config.getUser_agent().indexOf(
					BrowserConstants.MANUFACTURER_NOKIA) != -1) {
				config.setManufacturer(BrowserConstants.MANUFACTURER_NOKIA);
				config.setMobileBrowser(true);
			}
		} else if ((config.getUser_agent().indexOf(
				BrowserConstants.BROWSER_MOBILE_UNSORTED_PROXNET) != -1)
				|| (config.getUser_agent().indexOf(
						BrowserConstants.BROWSER_MOBILE_UNSORTED_ELAINE) != -1)
				|| (config.getUser_agent().indexOf(
						BrowserConstants.BROWSER_MOBILE_UNSORTED_PLUCKER) != -1)) {
			config.setMobileBrowser(true);
		}
		if (config.getUser_agent().indexOf(BrowserConstants.OS_Symbian) != -1) {
			config.setMobileBrowser(true);
		}
		if (config.getUser_agent().indexOf("J2ME") != -1
				|| config.getUser_agent().indexOf("MIDP") != -1
				|| config.getUser_agent().indexOf("j2me") != -1) {
			config.setMobileBrowser(true);
		}
		if (config.getUser_agent().indexOf(BrowserConstants.BROWSER_TABLET) != -1
				|| config.getUser_agent().indexOf("MIDP") != -1) {
			config.setMobileBrowser(true);
		}
		if (config.getUser_agent().indexOf(BrowserConstants.DEVICE_SMARTPHONE) != -1) {
			config.setMobileBrowser(true);
			if (config.getBrowser().equals(BrowserConstants.UNKNOWN)) {
				config.setBrowser(BrowserConstants.DEVICE_SMARTPHONE);
			} else {
				config.setBrowser(config.getBrowser() + "/"
						+ BrowserConstants.DEVICE_SMARTPHONE);
			}
		}
		if (config.getUser_agent().indexOf(BrowserConstants.BROWSER_SPV) != -1) {
			config.setMobileBrowser(true);
			if (config.getBrowser().equals(BrowserConstants.UNKNOWN)) {
				config.setBrowser(BrowserConstants.BROWSER_SPV);
			} else {
				config.setBrowser(config.getBrowser() + "/"
						+ BrowserConstants.BROWSER_SPV);
			}
			if (config.getManufacturer().equals(BrowserConstants.UNKNOWN)) {
				config.setManufacturer(BrowserConstants.MANUFACTURER_HTC + "?");
			} else {
				config.setManufacturer(config.getManufacturer() + "/"
						+ BrowserConstants.MANUFACTURER_HTC + "?");
			}
		}
		if (config.getUser_agent().indexOf(BrowserConstants.MANUFACTURER_PALM) != -1) {
			config.setMobileBrowser(true);
			if (config.getBrowser().equals(BrowserConstants.UNKNOWN)) {
				config.setBrowser(BrowserConstants.MANUFACTURER_PALM);
			} else {
				config.setBrowser(config.getBrowser() + "/"
						+ BrowserConstants.MANUFACTURER_PALM);
			}
			if (config.getManufacturer().equals(BrowserConstants.UNKNOWN)) {
				config.setManufacturer(BrowserConstants.MANUFACTURER_PALM);
			} else {
				if (!(config.getManufacturer().indexOf(
						BrowserConstants.MANUFACTURER_PALM) != -1)) {
					config.setManufacturer(config.getManufacturer() + "/"
							+ BrowserConstants.MANUFACTURER_PALM);
				}
			}
		}
		if (config.getUser_agent().indexOf(BrowserConstants.BROWSER_PPC) != -1) {
			config.setMobileBrowser(true);
			if (config.getBrowser().equals(BrowserConstants.UNKNOWN)) {
				config.setBrowser(BrowserConstants.BROWSER_PPC);
			} else {
				if (!(config.getBrowser().indexOf(BrowserConstants.BROWSER_PPC) != -1)) {
					config.setBrowser(config.getBrowser() + "/"
							+ BrowserConstants.BROWSER_PPC);
				}
			}
		}
		if (config.getUser_agent().indexOf(BrowserConstants.TOOL_REGKING) != -1) {
			config.setMobileBrowser(true);
			if (config.getBrowser().equals(BrowserConstants.UNKNOWN)) {
				config.setBrowser(BrowserConstants.TOOL_REGKING);
			} else {
				config.setBrowser(config.getBrowser() + "/"
						+ BrowserConstants.TOOL_REGKING);
			}
		}
		if (!config.isMobileBrowser()) {
			if (config.getUser_agent().indexOf(BrowserConstants.PLATFORM_MMP) != -1) {
				config.setMobileBrowser(true);
			} else if (config.getUser_agent().indexOf("wireless") != -1) {
				config.setMobileBrowser(true);
			} else if (config.getUser_agent().indexOf("WAP") != -1) {
				config.setMobileBrowser(true);
			} else if (config.getUser_agent().indexOf("wap") != -1) {
				config.setMobileBrowser(true);
			}
		}
		return config;
	}

	/*
	 * Identify search engines。 Search engines are web browsers.
	 */
	private static final DeviceConfig specialRule_200_Search_Engine_Robot(
			DeviceConfig config) {
		boolean isRobot = false;
		if (config.getUser_agent().indexOf(
				BrowserConstants.SEARCH_ENGINE_BAIDU_ID) != -1) {
			isRobot = true;
			config.setManufacturer(BrowserConstants.SEARCH_ENGINE_BAIDU_NAME);
		} else if (config.getUser_agent().indexOf(
				BrowserConstants.SEARCH_ENGINE_GOOGLE_ID) != -1) {
			isRobot = true;
			config.setManufacturer(BrowserConstants.SEARCH_ENGINE_GOOGLE_NAME);
		} else if (config.getUser_agent().indexOf(
				BrowserConstants.SEARCH_ENGINE_YAHOO_ID) != -1) {
			isRobot = true;
			config.setManufacturer(BrowserConstants.SEARCH_ENGINE_YAHOO_NAME);
		}
		if (isRobot) {
			config.setMobileBrowser(false);
			config.setSupported_HTML(true);
		}
		return config;
	}

}

⌨️ 快捷键说明

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