OnBackPressedCallback не вызывается, когда приходит из уведомления - PullRequest
0 голосов
/ 31 мая 2019

Я использую библиотеки навигации и app-compat для управления навигацией приложения.Но для конкретного случая мне нужно переопределить обратную навигацию с помощью OnBackPressedCallback.Если я перемещаюсь к фрагменту сведений с помощью пользовательского интерфейса приложения, он работает безупречно, вызывается 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...