我们的移动 Web 应用程序中有“扫描”按钮。移动 Web 应用程序完全基于 HTML5 和 Angular JS 和 javascript/ajax。我们需要基于用户代理 Android/Iphone 从 Google Play/iTunes 安装一些第三方原生扫描应用程序,如果应用程序已经安装,我们需要在用户单击扫描按钮时打开它。请在 javascript/Angular JS 中提出任何解决方案。我尝试了以下解决方案
setTimeout(function() {
window.location = 'http://my-installation.url'; //to download
}, 1000);
window.location = 'myapp://custom-scheme-url'; //to open
但这种方法充满了问题。很多时候它会重定向到 googleplay/itunes,尽管应用程序已安装,有时当应用程序未安装时它正在打开myapp://custom-scheme-url
,然后立即给出错误,如“此网页不可用错误”。我们也尝试了不同的超时值,但没有帮助。
请建议除了设置超时检查应用程序是否已安装之外,是否还有其他方法。