android用户代理

时间:2011-04-07 19:02:56

标签: android user-agent

我正在Android中编写一个使用WebView显示HTML内容的应用程序。有人告诉我为我的应用程序获取Android用户代理 - 我该怎么做?我从我的应用程序和Android浏览器中打开了http://whatsmyuseragent.com - 两个用户代理都是相同的。

请帮忙!

5 个答案:

答案 0 :(得分:123)

经过大量研究,我发现了它。有一种方法可以为Android WebView设置用户代理。

webview.getSettings().setUserAgentString("user-agent-string");

http://developer.android.com/reference/android/webkit/WebSettings.html

答案 1 :(得分:11)

您目前无法为WebView设置用户代理。

更新 - 我的立场得到了纠正!

WebSettings中,有一种名为setUserAgentString的方法:

webView.getSettings().setUserAgentString("my-user-agent");

答案 2 :(得分:11)

将它放在java类的onCreate方法中,用于显示WebView的活动:

WebView myWebView = (WebView)findViewById(R.id.webview);
//get the UA of the current running device:
String userAgent = view.getSettings().getUserAgentString() ;
//set the UA of the webview to this value:
myWebView.getSettings().setUserAgentString(userAgent);

不要使用System.getProperty(“http.agent”) - 这将返回'Dalvik'用户代理(Dalvik是各个Android应用运行的虚拟机)

答案 3 :(得分:5)

您可以使用System.getProperty("http.agent")获取默认设备UA。 webView.getSettings().getUserAgentString();将为您提供WebView的UA。请注意,我们可以通过编程方式设置UA。所以它可能不是所有情况下的默认设备UA。

System.getProperty("http.agent")是获取UA的更好方法,可以在WebView的实例可用之前检索。

答案 4 :(得分:0)

如果您想在独立浏览器应用程序(不是应用程序内的嵌入式WebView)中尝试使用自定义User-Agent,则可以通过在浏览器的URL字段中键入“about:useragent”来操作User-Agent值(不带引号“”),然后加载页面。

您将看到一个带有单选按钮的对话框,可以模拟Iphone,桌面,Lismore,Nexus One,Galaxy S甚至自定义用户代理编辑框。

根据您的需要选择/编辑后,点按确定即可设置。

干杯!