在我的应用程序中获取不包含网络视图的用户代理
我可以要求 WebView.getWebSettings().getUserAgentString()
来获取用户 代理,但这对我的应用程序来说效果不太好,因为我需要 尽管我不需要,但首先实例化一个 WebView
。
是否有另一种方法可以在不使用 WebView.getSetting
的情况下访问用户代理,因为在我的应用程序中,我不需要 webView
?
请帮助我
I can ask WebView.getWebSettings().getUserAgentString()
to get the user
agent, but this doesn't work all that well for my app as I need to
instantiate a WebView
first even though I don't need.
Is there another way to get to the User Agent without using a WebView.getSetting,
because in my application, I don't need a webView
?
Help me please
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您可以初始化 Webview 然后销毁它,或者只是将用户代理硬编码为字符串(并在运行时语言中替换等)。
You either initialize a Webview and then destroy it, or just hardcode the user agent as a string (and replace at run-time language etc).
您可以通过查看源代码来了解它是如何确定的
http://www.google.com/codesearch/p?hl=en#uX1GffpyOZk/core/java/android/ webkit/WebSettings.java&q=getCurrentUserAgent&sa=N&cd=1&ct=rc&l=370
根据文档,如果没有 WebView,则无法获取 WebSettings 对象。
您需要它与手机发送的信息完全相同吗?如果没有,只需选择一个标准的 Android 用户代理(不特定于构建/版本)
You can see how it's determined by looking at the source
http://www.google.com/codesearch/p?hl=en#uX1GffpyOZk/core/java/android/webkit/WebSettings.java&q=getCurrentUserAgent&sa=N&cd=1&ct=rc&l=370
According to the documentation, you can't get a WebSettings object without a WebView.
Do you need it to be exactly the one that the phone would send? If not, just pick up a standard Android User Agent (not build/version specific)
用户代理的信息是从HTTP头中获取的,这取决于使用什么浏览器来启动WebView对象。因此,如果您只想获取用户代理字符串而不创建WebView,那么这是没有意义的。
更好的方法可能是创建一个 WebView 并将其可见性设置为 GONE。获取用户代理字符串后,将其销毁。
The information of user agent is obtained from the HTTP headers, which depends on what browser is used to initiate the WebView object. Therefore, it doesn't make sense if you only want to get the user agent string without creating a WebView.
A better way might be create a WebView and set its visibility to GONE. After getting the user agent string, destroy it.
来自android源代码。
From android Source code.