我们有一个Android网站,可以在webview(即app)和网络浏览器中打开。
在这两种情况下,我们都必须表现出不同的行为。有没有办法区分请求是来自应用程序webview(内部在本机浏览器上打开应用程序)还是直接浏览器请求。
我们无法依赖用户代理,因为我们无法更新客户端。
我想做这样的事情:
if(webview)
{}
else if(browser)
{}
这是一个高度优先的问题,所以任何有任何解决方法的人都请尽快发布!
答案 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