Deep Link无法在Chrome for Android中使用

时间:2014-08-07 21:43:00

标签: android google-chrome android-intent deep-linking

我为我的应用程序定义了一个intent-filter,它是这样的:

    !-- Accepts URIs that begin with "urban://success” -->
    <data
        android:host="success"
        android:scheme="urban" />

这个深层链接似乎适用于其他浏览器,但对于Android for Chrome则不然。

我从服务器得到的答案如下:

urban://success?utf8=%E2%9C%93&json=%7B%22status%22%3A%...

任何帮助将不胜感激。

最好的问候。

1 个答案:

答案 0 :(得分:0)

您需要在网页的HTML标记中使用href="android-app://"注释深层链接。您可以在每个网页的部分中执行此操作,方法是添加标记并将深层链接指定为备用URI。

参见维基百科的例子

<meta name="generator" content="MediaWiki 1.24wmf15" />
<link rel="alternate"
  href="android-app://org.wikipedia/http/en.m.wikipedia.org/wiki/Apollo_17" />
<link rel="alternate" 
  type="application/x-wiki" title="Edit this page" href="/w/index.php?  title=Apollo_17&amp;action=edit" />

您需要在网页上添加以下代码:

<html>
<head>
    <link rel="alternate"
      href="android-app://com.example.android/example/gizmos" />
...
</head>
<body> ... </body>

现在要在应用程序中处理这个意图,当你搜索某些东西时,链接为你提供了在维基百科应用程序中打开的选项,如果你想支持两者,那么你需要修改你的android应用程序。

首先,您需要在Manifest中添加该方案。

以下是WikiPedia应用程序的工作原理。

WikiPedia应用程序添加了该方案,如下面的页面视图活动。

<activity android:name=".page.PageActivity" >
<intent-filter>
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
 <data
    android:scheme="http"
    android:host="*.wikipedia.org"
    android:pathPrefix="/wiki/" />
<data
    android:scheme="https"
    android:host="*.wikipedia.org"
    android:pathPrefix="/wiki/" />
</intent-filter>
</activity>

您需要为您的域做同样的事情,它会起作用。如果您需要确保您的应用程序也显示在深层链接中,请参阅link1link2