安卓用户代理
我正在 Android 中编写一个应用程序,它使用 WebView 来显示 HTML 内容。我被告知要为我的应用程序获取 Android 用户代理 - 我该怎么做?我从我的应用程序和 Android 浏览器中打开了 http://whatsmyuseragent.com - 两个用户代理都是相同的。
请帮忙!
I am writing an app in Android that uses a WebView to display HTML content. I was told to get an Android user agent for my app - how do I do that? I opened http://whatsmyuseragent.com from my app as well as the Android browser - both the user agents are the same.
Please help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
经过大量研究后,我明白了。有一种方法可以为 Android WebView 设置用户代理。
http://developer.android.com/reference/android/webkit/WebSettings.html
After much research, I figured it out. There is a way to set a user agent for Android WebView.
http://developer.android.com/reference/android/webkit/WebSettings.html
将其放入显示 WebView 的活动的 java 类的 onCreate 方法中:
不要使用 System.getProperty("http.agent") - 这将返回“Dalvik”用户代理( Dalvik 是各个 Android 应用程序在其中运行的 VM)
Put this in the onCreate method of the java class for the activity that displays the WebView:
Don't use System.getProperty("http.agent") - this will return the 'Dalvik' user agent (Dalvik is the VM that individual Android apps run within)
您当前无法为
WebView
设置用户代理。更新 - 我已纠正!
在
WebSettings
中有一个名为 setUserAgentString:You can't currently set the user-agent for
WebView
.Update - I stand corrected!
In
WebSettings
there is a method called setUserAgentString:您可以使用 System.getProperty("http.agent") 获取默认设备 UA。
webView.getSettings().getUserAgentString();
将为您提供WebView
的 UA。请注意,我们可以通过编程方式设置 UA。因此,它可能不是所有情况下的默认设备 UA。System.getProperty("http.agent")
是获取 UA 的更好方法,并且可以在WebView
实例可用之前检索。You can use
System.getProperty("http.agent")
to get the default device UA. And thewebView.getSettings().getUserAgentString();
will give you the UA of theWebView
. Be aware that we can set the UA programmatically. So it might not be the default device UA in all the cases.System.getProperty("http.agent")
is the better way to get the UA and can be retrieved before an instance ofWebView
is available.如果您想在独立的浏览器应用程序(而不是应用程序内的嵌入式 WebView)中试验自定义用户代理,您可以通过在浏览器的 URL 字段中键入“about:useragent”来操作用户代理值(不带引号 ""),然后加载页面。
您将看到一个带有单选按钮的对话框,用于模拟 Iphone、Desktop、Lismore、Nexus One、Galaxy S 甚至自定义用户代理编辑框。
根据需要选择/编辑后,点击“确定”即可完成设置。
干杯!
If you would like to experiment with a custom User-Agent in the standalone Browser application (not an embedded WebView inside an application), you can manipulate the User-Agent value by typing "about:useragent" in your browser's URL field (without the quotes ""), and then load the page.
You will see a Dialog with radio buttons to simulate Iphone, Desktop, Lismore, Nexus One, Galaxy S or even a Custom User Agent edit box.
After you select/edit as per your needs, tap OK and you're set.
Cheers!