我已经创建了从片段到活动的导航操作,但我无法清除后台堆栈。当我执行从片段到新活动的导航操作并按下后退按钮时,我会回到上一个活动和上一个片段。我无法使用导航图设置 Intent 标志来清除后台堆栈中的先前活动。
<fragment
android:id="@+id/loginFragment"
android:name="com.myapp.auth.LoginFragment"
android:label="login_fragment"
tools:layout="@layout/login_fragment" >
<action
android:id="@+id/action_loginFragment_to_webActivity"
app:destination="@id/webActivity"
app:popUpTo="@id/loginFragment"
app:popUpToInclusive="true" />
</fragment>
<activity
android:id="@+id/webActivity"
android:name="com.myapp.web.WebActivity"
android:label="activity_web"
tools:layout="@layout/activity_web" >
</activity>
从片段导航到新活动时, PopTo和Inclusive标志对后退按钮没有影响,即使它们可以在图形编辑器中设置。我可以使用后退按钮导航到堆栈中不再需要的上一个活动。
在迁移到导航图之前,我可以使用 Intent 标志指定此行为:
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
如何使用导航图实现相同的目标?