1

我们有一个 android 网站,它在 webview(即从应用程序)和网络浏览器中打开。

在这两种情况下,我们都必须表现出不同的行为。有什么方法可以区分请求是来自应用程序 webview(在本机浏览器上内部打开应用程序)还是直接浏览器请求。

我们不能依赖用户代理,因为我们不能更新客户端。

我想做这样的事情:

if(webview)
{}
else if(browser)
{}

这是一个高优先级的问题,所以任何有任何线索解决这个问题的人,请尽快发布!

4

3 回答 3

1

在 Webview 中设置用户代理字符串并在您的代码中获取它

  yourWebView.getSettings().setUserAgentString("Some user agent String to identify");

看到这个答案它解释了如何做到这一点。

于 2013-07-30T10:00:36.847 回答
1
if(window._cordovaNative) {
    // its a web view
} else {
 // its a web browser
}
于 2014-03-13T12:44:08.153 回答
0

通过 webview 发送的所有 http 请求都有下面的标题。您可以使用它来检测您从哪里获得请求

X-Requested-With: the.app.packageName
于 2014-11-28T15:08:37.540 回答