Android 应用链接在调用应用中启动我的应用
Android app links launching my app within the calling app
我刚刚在我的 Android 应用程序中设置了应用程序链接,遵循官方 Android 在线指南。我可以单击 link,然后我的应用程序可以正常启动。
但是,我观察到不同的行为取决于 link 的点击位置。
- 在 Gmail 应用程序中,我的应用程序启动并且一切正常。点击 |||屏幕底部的图标显示我的应用 运行 独立。
- 从 Slack,我的应用程序启动并运行良好,但它似乎是 Slack 进程的一部分。后退按钮不起作用,如果我点击 |||然后它显示我的应用程序似乎在 Slack 中 运行(只有一个 window 打开)。
- 在 WhatsApp 中,Slack 也是如此。
这是我的 AndroidManifest.xml:
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="mydomain.com"
android:path="/" />
</intent-filter>
我怀疑这在某种程度上与 Slack 打开网络 links 本身有关,但我不知道如何防止这种情况。这也不能解释 WhatsApp 的行为,因为 WhatsApp 似乎已经在 Chrome 中独立打开网络 links。
如有任何建议,我们将不胜感激!
这实际上是 Android 中的默认设置 - 您的应用程序作为调用者堆栈的一部分启动。您需要在清单中将启动模式设置为 singleTask。请注意,如果 activity 已经在后台运行,这有时可能会导致调用 onNewIntent 而不是标准的 activity 创建路径。
我刚刚在我的 Android 应用程序中设置了应用程序链接,遵循官方 Android 在线指南。我可以单击 link,然后我的应用程序可以正常启动。
但是,我观察到不同的行为取决于 link 的点击位置。
- 在 Gmail 应用程序中,我的应用程序启动并且一切正常。点击 |||屏幕底部的图标显示我的应用 运行 独立。
- 从 Slack,我的应用程序启动并运行良好,但它似乎是 Slack 进程的一部分。后退按钮不起作用,如果我点击 |||然后它显示我的应用程序似乎在 Slack 中 运行(只有一个 window 打开)。
- 在 WhatsApp 中,Slack 也是如此。
这是我的 AndroidManifest.xml:
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="https"
android:host="mydomain.com"
android:path="/" />
</intent-filter>
我怀疑这在某种程度上与 Slack 打开网络 links 本身有关,但我不知道如何防止这种情况。这也不能解释 WhatsApp 的行为,因为 WhatsApp 似乎已经在 Chrome 中独立打开网络 links。
如有任何建议,我们将不胜感激!
这实际上是 Android 中的默认设置 - 您的应用程序作为调用者堆栈的一部分启动。您需要在清单中将启动模式设置为 singleTask。请注意,如果 activity 已经在后台运行,这有时可能会导致调用 onNewIntent 而不是标准的 activity 创建路径。