H5页面,确定是否安装应用

时间:2018-07-26 07:14:26

标签: javascript android html5

我收到请求。在H5页面中,当用户单击下载时,将判断该应用程序是否已安装在手机上。如果已经安装,它将直接打开,否则将下载该应用。

这种需求只需要关注android,并且架构已经存在。

我尝试使用iframe和Timer来控制打开或下载,但是仍然存在一些问题,当浏览器打开该应用程序时,将确认一个弹出窗口。如果用户忽略它,仍然会执行下载。用户体验很糟糕。是否有更优雅的解决方案?

我的代码如下:

var isInstalled;
var ifrSrc = "launchxyjqb://";
var ifr = document.createElement('iframe');
ifr.src = ifrSrc;
ifr.style.display = 'none';
ifr.onload = function() {
  isInstalled = true;
};
ifr.onerror = function() {
  isInstalled = false;
};
document.body.appendChild(ifr);
setTimeout(function() {
   document.body.removeChild(ifr);
   if(!isInstalled){
    window.location.href = commonConfig.appDownloadUrl.android;//download url
   }
},2000);

如果您可以直接确定应用程序是否已经安装,则此问题应该很容易解决。

0 个答案:

没有答案