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