我正在使用WebView来显示HTML内容的Android中编写应用程序。我被告知为我的应用获得一个Android用户代理 - 我该怎么做?我从我的应用以及Android浏览器打开了http://whatsmyuseragent.com - 两个用户代理都是相同的。android用户代理
请帮忙!
我正在使用WebView来显示HTML内容的Android中编写应用程序。我被告知为我的应用获得一个Android用户代理 - 我该怎么做?我从我的应用以及Android浏览器打开了http://whatsmyuseragent.com - 两个用户代理都是相同的。android用户代理
请帮忙!
经过大量的研究,我想它了。有一种方法可以为Android WebView设置用户代理。
webview.getSettings().setUserAgentString("user-agent-string");
http://developer.android.com/reference/android/webkit/WebSettings.html
您目前无法为WebView
设置用户代理。
更新 - 我站好了!
在WebSettings
有一个叫setUserAgentString方法:
webView.getSettings().setUserAgentString("my-user-agent");
如果您想在独立的浏览器应用程序(而不是应用程序中嵌入的WebView),您可以通过键入操纵用户代理值“与自定义的User-Agent进行实验about:useragent“放入浏览器的URL字段(不带引号”“),然后加载页面。
您将看到一个带有单选按钮的对话框来模拟Iphone,桌面,Lismore,Nexus One,Galaxy S或甚至自定义用户代理编辑框。
根据需要选择/编辑后,点击确定,即可设置。
干杯!
您可以使用System.getProperty("http.agent")
来获取默认设备UA。而webView.getSettings().getUserAgentString();
会给你的UA。请注意,我们可以通过编程方式设置UA。所以它可能不是所有情况下的默认设备UA。
System.getProperty("http.agent")
是获得UA的更好方法,可以在WebView
的实例可用之前检索。
问题是关于如何获取应用程序的用户代理......为什么你会得到系统用户代理? – 2014-04-17 14:07:45
webview的默认UA是系统UA。但是webview的UA可以手动设置(以编程方式)。所以如果你改变了你的webview的UA,它可能会给你不同的UA。所以它渴望得到系统UA。 – Sripathi 2014-04-18 14:33:27
是的,我知道但我想要一个自定义的UA。 – 2014-04-18 14:44:27
将这个在显示的WebView该活动的Java类的onCreate方法:
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应用运行的虚拟机)
String userAgent = view.getSettings()。getUserAgentString();这里的观点是什么? – 2016-06-20 06:51:02
@SudiptaforAndroid这是一个WebView实例。 – 2017-01-30 08:23:55
经过一番研究,我发现有一种方法可以更改WebView的用户代理。使用webview.getSettings()。setUserAgentString(); – 2011-04-08 03:31:08
其实,用户代理字符串比上面提到的有点复杂:)使用http://whatsmyuseragent.com/找到你的使用者 – 2011-04-09 05:08:34