如何从 Android 设备获取默认的 HTTP USER AGENT 及其默认设置?
谢谢
诺希布
原文由 Nohsib 发布,翻译遵循 CC BY-SA 4.0 许可协议
如何从 Android 设备获取默认的 HTTP USER AGENT 及其默认设置?
谢谢
诺希布
原文由 Nohsib 发布,翻译遵循 CC BY-SA 4.0 许可协议
正如 Varundroid 在他的回答中提到的,
String userAgent = System.getProperty("http.agent");
对于 Android 2.1 及更高版本来说是更好的方法。
====================
来自android源代码。
public static String getDefaultUserAgent() {
StringBuilder result = new StringBuilder(64);
result.append("Dalvik/");
result.append(System.getProperty("java.vm.version")); // such as 1.1.0
result.append(" (Linux; U; Android ");
String version = Build.VERSION.RELEASE; // "1.0" or "3.4b5"
result.append(version.length() > 0 ? version : "1.0");
// add the model for the release build
if ("REL".equals(Build.VERSION.CODENAME)) {
String model = Build.MODEL;
if (model.length() > 0) {
result.append("; ");
result.append(model);
}
}
String id = Build.ID; // "MASTER" or "M4-rc20"
if (id.length() > 0) {
result.append(" Build/");
result.append(id);
}
result.append(")");
return result.toString();
}
原文由 Prakash Nadar 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答953 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
1 回答834 阅读✓ 已解决
2 回答943 阅读
2 回答882 阅读
1 回答817 阅读
1 回答864 阅读
编辑:参见 Prakash 的回答,这对 2.1+ 更好。
试试 http://developer.android.com/reference/android/webkit/WebSettings.html#getUserAgentString
请注意,此用户代理仅适用于 Android 默认使用的嵌入式 WebKit 浏览器。不幸的是,您需要创建一个新的 WebView 对象来获取用户代理。幸运的是,用户代理不会经常更改,因此您应该只需要在应用程序生命周期中运行一次此代码(除非不关心性能)。做就是了:
或者,您可以使用 JavaScript 方法
navigator.getUserAgent()
。