无法从Android chrome(版本49)启动本机应用程序

时间:2016-03-18 01:41:42

标签: android google-chrome applinks

我有一个html页面,我想在加载此页面时启动我的原生应用程序。以下是我的代码:

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://code.jquery.com/jquery-1.12.1.js"></script>
</head>
<body>
<br><br><br>
<a id="link1" style='display:none' href="baidufe://schemedemo/get/info?id=10000">test link</a>
<br>
<button onclick="launch()">Launch</button>
</body>
<script language="JavaScript">
    function launch(){
        console.log("test");
        var clickTarget = document.getElementById("link1");
        clickTarget.click();

    };
    window.onload=function(){
        launch();
    };
    </script>
</html>

但是当我在android chrome(版本为49)中打开此页面时,我的原生应用程序尚未启动。当我点击&#34;启动&#34;按钮,我的原生应用程序可以成功启动。

根本原因是什么?但我的要求是本机应用程序将在打开此页面时启动,如何解决?谢谢!

1 个答案:

答案 0 :(得分:0)

这似乎是一种相当间接的方式来实现您想要的...而不是模拟点击事件,为什么不直接设置窗口位置并跳过一步?

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
</body>
<script>
  setTimeout(function() {
    window.location = 'baidufe://schemedemo/get/info?id=10000'
  }, 250);
</script>
</html>

请记住,以这种方式自动重定向用户会有 ton 的边缘情况,并且如果他们没有安装您的应用,可能会显示令人讨厌的“无法找到页面”错误。