假设我有一个与此类似的导航图:

---------      ---------
| Home  | ---->| Other |
---------      ---------
    |
    |
    V
---------
| Login |
---------

如果用户没有登录,我必须在他继续之前显示登录屏幕。根据 docs ,我在 HomeFragment 中检查用户是否已登录。如果他不是,我打开 LoginFragment 。到现在为止还挺好。

但是如果用户按下 LoginFragment ,我希望应用程序退出。但由于 LoginFragment 不是起始目的地,它会简单地打开 HomeFragment ,这将再次打开 LoginFragment

目前,如果当前目的地是 onBackPressed() ,我通过覆盖主机 Activityfinish() Activity 中的 LoginFragment 来退出应用程序。

但这感觉很hackish。我想这一定是一个非常常见的导航场景。那么,是否有任何“惯用”的方式来做到这一点?

最佳答案

我相信解决您的问题的最简单(并且我相信合适的)解决方案是在您的操作中基本上使用 app:popUpToapp:popUpToInclusive,该操作来自主页 --> 登录。

这是一个相关示例,当您从初始屏幕移动到主屏幕时,您不希望在他按下“返回”按钮时返回初始屏幕。

android - 如何在非开始目的地的后按退出应用程序?-LMLPHP

关于android - 如何在非开始目的地的后按退出应用程序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54607794/

10-10 02:16