首页 > 解决方案 > Android导航组件:如何始终从起始目的地运行应用程序?

问题描述

我有启动授权屏幕,我希望用户在每次应用程序启动时登录,甚至 onResume

标签: androidandroid-fragments

解决方案


在您Activity导航到授权屏幕的 onResume() 中。我们想使用一种可以从任何片段中使用的导航,所以最好的选择是 navigate(deepLink) 方法。

  1. 在您的 AuthorizationFragment 中添加一个 DeepLink navigation.xml

    <deepLink
    android:id="@+id/deepLink"
    app:uri="http://www.example.com/authorization" />
    
  2. ActivityonResume()

    findNavController(R.id.container).navigate("http://www.example.com/authorization")
    

如果从当前 NavGraph 可以到达目的地,它将导航到那里。

  1. 只需从授权屏幕调用 NavController.navigateUp() 即可关闭授权屏幕。

请参阅文档:

使用 URI 导航到带有导航组件的目的地

如何创建隐式深层链接


推荐阅读