从重定向而不是链接打开Android应用程序

问题描述 投票:0回答:2

我遇到了尝试深层链接并让我的应用程序打开的问题。我有以下代码,这是我确定我是否有一个ios用户或android的方法。如果它是android,那么我想重定向用户打开他们的应用程序,如果安装。

问题是重定向到company://open.me/没有打开应用程序

如果我创建一个像手动链接

<a href="company://open.me/">Open Me</a>

这工作正常,打开我的应用程序。

有帮助吗?

<script>
if ((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) {
    location.replace("company://");
    setTimeout(function() {
        if (!document.webkitHidden) {
            location.replace("https://www.company.com");
        }
    }, 25);
} else if ((navigator.userAgent.match(/android/i)) || (navigator.userAgent.match(/Android/i))) {
    window.location = "company://open.me/";
} else {
    location.replace("https://www.company.com");
}
</script>

表现

<intent-filter>
    <data android:scheme="company" android:host="open.me" />
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.BROWSABLE" />
    <category android:name="android.intent.category.DEFAULT" />
</intent-filter>
android android-studio
2个回答
0
投票

我认为你应该使用本文中描述的“intent:”语法。 https://developer.chrome.com/multidevice/android/intents

基于intent的URI的基本语法如下:

intent:
   HOST/URI-path // Optional host 
   #Intent; 
      package=[string]; 
      action=[string]; 
      category=[string]; 
      component=[string]; 
      scheme=[string]; 
   end; 

0
投票

我想你需要改变你调用window.location的方式。

这将有效:

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
    <script>
function newDoc() {
  window.location.assign("company://open.me/")
}
</script>
  </head>
  <body>
    <a href="company://open.me/">deep link</a>

<input type="button" value="Load new document" onclick="newDoc()">
  </body>
</html>
© www.soinside.com 2019 - 2024. All rights reserved.