如何检测用户离开带有导航组件的活动?

时间:2019-11-20 13:14:28

标签: android-architecture-navigation

我有2个活动:A1A2。他们俩都使用了导航组件(显然,它们具有不同的图形,但是即使从A1A2的过渡也是通过动作和<activity>的目的地)。

流程是,该用户在A1中执行了某项操作,从而打开了A2A2将启动并绑定前台服务,并且该服务应运行,直到用户通过后退或向上按钮有意离开A2为止。

我找不到实现此目的的方法。

想法

onDestroy()

这显然是行不通的,因为A2在我进行backround时可能会被破坏。并且在这种情况下,服务应该继续运行。

OnDestinationChangedListener

没用,因为它在离开A2时不会被解雇。

navController.navigateUp()和onBackPressed()

是的,这可能有用。但是,我如何在onBackPressed中认识到这是此活动的最后回击?因为backStackEntryCount为0,即使您从第二个片段返回到第一个片段也是如此。

在A1中处理

它应该可以工作,但是似乎是错误的。

0 个答案:

没有答案