来自通知时不调用OnBackPressedCallback

时间:2019-05-31 11:12:43

标签: android android-appcompat back android-jetpack android-jetpack-navigation

我正在使用导航和与应用程序兼容的库来管理应用程序导航。但是,对于特定情况,我需要使用OnBackPressedCallback覆盖后退导航。 如果我使用应用程序UI导航到详细信息片段,则该片段会正常工作,将调用OnBackPressedCallback。但是,如果从通知导航,则永远不会调用它。

我如何为通知创建PendingIntent的方法是使用导航库:

val deepLink = NavDeepLinkBuilder(context)
        .setComponentName(MainActivity::class.java)
        .setGraph(R.navigation.app_navigation)
        .setDestination(R.id.details_dest)
        .createPendingIntent()

我正在使用OnBackPressedCallback覆盖导航,如下所示:

class DetailsFragment : Fragment() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        requireActivity().onBackPressedDispatcher.addCallback(this, object: OnBackPressedCallback(true) {
            override fun handleOnBackPressed() {
                findNavController().navigate(R.id.listing_dest)
            }
        })
    }

    ...
}

有什么主意吗?

顺便说一下,我正在使用以下库版本:

  • appcompat-> 1.1.0-alpha05
  • 导航-> 2.0.0

0 个答案:

没有答案