gpt4 book ai didi

android - 如何确认Android应用是DeepLink启动还是正常启动?

转载 作者:行者123 更新时间:2023-12-03 23:09:08 25 4
gpt4 key购买 nike

我有一个应用程序,我需要在不同的启动类型上执行不同的任务。当我的应用程序在后台时,如何检测该应用程序已通过深度链接启动。

最佳答案

假设您已经准备好具有所需 Intent 的 Activity ,您要做的是检查 Activity 的if(getIntent().getAction() != null)。这意味着它是通过深层链接启动的。用于导航的正常 Intent 将返回 null .

现在的问题是您的 Activity 是否已经在后台运行并且您在 onCreate() 中编写了此代码,并且深度链接 Activity 设置为 android:launchMode="singleTask"或使用 FLAG_ACTIVITY_SINGLE_TOP 启动它不会再次触发。

为此,您必须覆盖 onNewIntent(Intent intent)你的 Activity 的方法,这样你就可以知道每次你的 Activity 是从一个 Intent 开始的。
再次,您可以在这里查看if(intent.getAction() != null)intent.getData()检索数据。

需要注意的一件事是避免在 onCreate 中两次运行相同的代码。和 onNewIntent
如果您还没有在您的应用程序中实现深度链接,您首先需要使用 <intent-filter>以使 Activity 可用于在单击链接等时处理 Intent

        <intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="www.example.com"
android:pathPattern="/.*"
android:scheme="https" />
</intent-filter>

您可以在官方文档 here 上阅读更多信息正如有人已经建议的那样。

关于android - 如何确认Android应用是DeepLink启动还是正常启动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60038667/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com