安卓用户代理

发布于 2024-10-31 02:00:23 字数 212 浏览 2 评论 0原文

我正在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

颜漓半夏 2024-11-07 02:00:23

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

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

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.

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

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

怕倦 2024-11-07 02:00:23

将其放入显示 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 应用程序在其中运行的 VM)

Put this in the onCreate method of the java class for the activity that displays the 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);

Don't use System.getProperty("http.agent") - this will return the 'Dalvik' user agent (Dalvik is the VM that individual Android apps run within)

葬心 2024-11-07 02:00:23

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

更新 - 我已纠正!

WebSettings 中有一个名为 setUserAgentString

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

You can't currently set the user-agent for WebView.

Update - I stand corrected!

In WebSettings there is a method called setUserAgentString:

webView.getSettings().setUserAgentString("my-user-agent");
感情废物 2024-11-07 02:00:23

您可以使用 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 the webView.getSettings().getUserAgentString(); will give you the UA of the WebView. 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 of WebView is available.

零時差 2024-11-07 02:00:23

如果您想在独立的浏览器应用程序(而不是应用程序内的嵌入式 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!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文