Flutter Problem Dynamic Link 打开whatsapp里面的app
Flutter Problem Dynamic Link opens the app inside whatsapp
当通过 whatsapp 打开 link 时,如果稍后由启动器打开该应用程序,则会在 whatsapp 内打开该应用程序的一个实例。
同一应用程序的 2 个实例已打开,一个由 whatsapp 另一个由应用程序本身打开。
重现步骤
重现该行为的步骤:
1 - 生成 link 并将其发送到 whatsapp。
2 - 在 whatsapp
上点击 link
预期行为
预计点击后会在whatsapp外打开app
FirebaseDynamicLinks.instance.getInitialLink().then((value){
if (value != null){
if (value.link.queryParameters["challenge_id"] != null){
DesafioModel desafioModel = DesafioModel();
desafioModel.id = value.link.queryParameters["challenge_id"];
Get.offNamed("$CHALLENGE_DETAILS_ROUTE", arguments: desafioModel);
}
}
});
对于其他需要它的人,正如 Jiten Basnet 在评论中指出的那样,解决方案是添加
android:launchMode="singleTask"
在 activity 内 AndroidManifest.xml
。
将AndroidManifest.xml文件中的launchMode定义为singleTask,则只有一个instance,不会出现在任何app中。您的应用程序将单独打开。
<activity
android:name=".MainActivity"
android:launchMode="singleTask"
有关更多信息,请查看此内容:https://developer.android.com/guide/components/activities/tasks-and-back-stack
当通过 whatsapp 打开 link 时,如果稍后由启动器打开该应用程序,则会在 whatsapp 内打开该应用程序的一个实例。 同一应用程序的 2 个实例已打开,一个由 whatsapp 另一个由应用程序本身打开。
重现步骤 重现该行为的步骤:
1 - 生成 link 并将其发送到 whatsapp。 2 - 在 whatsapp
上点击 link预期行为 预计点击后会在whatsapp外打开app
FirebaseDynamicLinks.instance.getInitialLink().then((value){
if (value != null){
if (value.link.queryParameters["challenge_id"] != null){
DesafioModel desafioModel = DesafioModel();
desafioModel.id = value.link.queryParameters["challenge_id"];
Get.offNamed("$CHALLENGE_DETAILS_ROUTE", arguments: desafioModel);
}
}
});
对于其他需要它的人,正如 Jiten Basnet 在评论中指出的那样,解决方案是添加
android:launchMode="singleTask"
在 activity 内 AndroidManifest.xml
。
将AndroidManifest.xml文件中的launchMode定义为singleTask,则只有一个instance,不会出现在任何app中。您的应用程序将单独打开。
<activity
android:name=".MainActivity"
android:launchMode="singleTask"
有关更多信息,请查看此内容:https://developer.android.com/guide/components/activities/tasks-and-back-stack