如何区分android web视图和浏览器视图?

时间:2013-07-30 09:56:24

标签: android browser webview native

我们有一个Android网站,可以在webview(即app)和网络浏览器中打开。

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

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

我想做这样的事情:

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

这是一个高度优先的问题,所以任何有任何解决方法的人都请尽快发布!

3 个答案:

答案 0 :(得分:1)

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

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

请参阅this答案,说明如何操作。

答案 1 :(得分:1)

if(window._cordovaNative) {
    // its a web view
} else {
 // its a web browser
}

答案 2 :(得分:0)

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

获取请求的位置
X-Requested-With: the.app.packageName