从深层链接开始活动,并从最新的运行活动开始重新开始

问题描述 投票:0回答:1

我在我的应用程序中处理深层链接。单击电子邮件中的链接后,将在应用程序中打开相关活动。在背面按下,它要么回到电子邮件或家里(直到我使用的意图标志)。我需要它回到最新的运行活动(如果在点击电子邮件中的链接之前使用该应用程序)或(否则)转到第一个活动以重新启动应用程序。

更清楚:用户正在进行活动C.电子邮件通知来检查并点击其中的链接。它打开了活动E.在这里,如果用户重新按下,我想结束当前任务并恢复活动C - 如果活动C任务尚未被系统杀死。如果被杀,请转到活动A.

如果没有意图标志,它会创建一个新任务(第二个应用程序实例),然后在返回时返回到电子邮件客户端。使用NEW_TASK标志,将启动新任务。如果我使用CLEAR_TASK标志,在背面按下它回家。

表现

<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="https"
                    android:host="www.mysite.com"
                    android:pathPattern="/mypath/*" />
</intent-filter>

FirstActivity

if(getIntent().getData().toString().contains("keyword")){
       //intent.setFlags(...);
       intent.putExtra("myextra", getIntent().getData().toString());
   }
    startActivity(intent);
    finish();

EmailResultActivity

 String data = getIntent().getExtras().getString("myextra");
android deep-linking intentfilter deeplink
1个回答
0
投票

要实现这一目标,您需要处理来自常见活动的深层链接。 (例如:如果您的应用程序有一个共同的活动,请说XYZ。然后每个深层链接应该进入XYZ活动,然后根据深层链接的参数,您应该移动到相应的屏幕)此外,您需要将XYZ设置为singleTask。

© www.soinside.com 2019 - 2024. All rights reserved.