【发布时间】:2017-08-08 00:10:50
【问题描述】:
我知道关于 SO 有几个关于此的问题,但没有一个有助于解决我的问题。
我希望能够单击电子邮件/文本/浏览器中的链接并打开我的应用程序。
我有 AndroidManifest.xml 代码:
<!-- Splash Activity -->
<activity
android:name=".ui.SplashActivity"
android:label="@string/app_name"
android:theme="@style/SplashTheme"
android:launchMode="singleTask">
<!-- Launcher intent filter -->
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<!-- Branch URI scheme -->
<intent-filter>
<data android:scheme="myscheme" android:host="open" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
</activity>
这似乎完全遵循文档 here,但是,当我使用 Chrome(或 Android 浏览器)浏览到 myscheme://open 时,我的应用程序没有打开,而是我得到了谷歌搜索结果 myscheme ://打开。
谁能看到我在这里遗漏了哪一块拼图? 如何让我的应用通过 URI 打开?
小更新:
阅读 this 后,我发现将 Chrome 导航到 market://details?id=com.myapp 并不打开 Play 商店。相反,它会返回 Google 搜索结果 - 与尝试直接启动我的应用程序时相同。这令人困惑。 我是否缺少允许深度链接的全局操作系统设置?
【问题讨论】:
-
“当我使用 Chrome(或 Android 浏览器)浏览到 myscheme://open 时”——您是如何准确做到这一点的?在地址栏中输入?单击具有该 URL 的网页中的链接?还有什么?
-
@CommonsWare 通过 (1) 在地址栏中输入,以及 (b) 单击电子邮件中的链接。两者都会导致相同的行为。
标签: android deep-linking