Javascript Android上的嵌入式站点是否通过应用程序或浏览器打开

Javascript Android上的嵌入式站点是否通过应用程序或浏览器打开,javascript,android,mobile,Javascript,Android,Mobile,我建立了一个新的网站,然后我为Android建立了一个新的应用程序,并将我的网站嵌入到应用程序中 通过下面的脚本,我可以理解用户是通过手机或桌面进入网站的 document.addEventListener('DOMContentLoaded', function() { var userAgent = navigator.userAgent || navigator.vendor || window.opera; if (/android/i.test(userAgent)) { do

我建立了一个新的网站,然后我为Android建立了一个新的应用程序,并将我的网站嵌入到应用程序中

通过下面的脚本,我可以理解用户是通过手机或桌面进入网站的

document.addEventListener('DOMContentLoaded', function() {
 var userAgent = navigator.userAgent || navigator.vendor || window.opera;
 if (/android/i.test(userAgent)) {
  document.getElementsByClassName('banner')[0].innerHTML = 'html';
 }
}, false);
我希望移动用户下载该应用程序。使用上面的脚本,我正在生成html,为移动用户提供安装我的应用程序的链接

问题是,应用程序同时显示插入的html


如何检测应用程序何时打开网站?

要检测网站是由浏览器还是Android应用程序打开,请使用以下方法之一

第一种方法

使用服务器端编码检查请求头

PHP:

JSP:

第二种方法

将javascript代码绑定到android代码并调用它

在希望JavaScript可用的任何方法上使用
@JavascriptInterface
注释

@JavascriptInterface
public void runningOnAndroid() {
androidApp = true;
}
你可以找到细节

if ("your.android.app.package.name".equals(req.getHeader("X-Requested-With")) ){
    //webview
} else {
    //browser
}
@JavascriptInterface
public void runningOnAndroid() {
androidApp = true;
}