我正在使用本机反应。深度链接非常适合ios。但是对于Android,我似乎无法弄清楚如何从深层链接中正确打开我的应用。
例如从Firefox,我的应用程序是在firefox窗口中启动的。使用深度链接测试器应用程序时,情况相同。除非未从正确的应用程序启动,否则一切都会按照该应用程序的预期运行。
我在做什么错?这是我的AndroidManifest.xml的摘录:
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:configChanges=
"keyboard|keyboardHidden|orientation|screenSize"
android:windowSoftInputMode="adjustResize"
android:exported="true">
<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:scheme="myapp" />
</intent-filter>
</activity>
答案 0 :(得分:3)
看看https://developer.android.com/guide/components/activities/tasks-and-back-stack
在清单文件中声明活动时,可以使用元素的launchMode属性指定活动应如何与任务关联。
launchMode属性指定有关如何将活动启动到任务中的指令。您可以将四种启动模式分配给launchMode属性:
尝试将android:launchMode=singleTask"
放在您的活动中
系统创建一个新任务,并在新任务的根目录处实例化活动。但是,如果活动的实例已经存在于单独的任务中,则系统将通过对其onNewIntent()方法的调用将意图路由到现有实例,而不是创建新实例。一次只能存在一个活动实例。
https://developer.android.com/guide/components/activities/tasks-and-back-stack#ManifestForTasks
其他背景知识包括(以及您可以尝试的其他许多方法):