Deeplink неправильно перенаправляет, если приложение уже открыто - PullRequest
0 голосов
/ 28 апреля 2020

Я использую Jetpack Navigation для глубоких ссылок. Я добавил android:launchMode="singleTask" в свою активность. Deeplink перенаправляется правильно, если приложение не было открыто ранее. Однако, если приложение существует в памяти, оно выходит на передний план, но Deeplink не открывается правильно.

Мое устройство - Pixel 2 с Android 10. Я вижу, что onCreate вызывается только в первый раз я открываю приложение. Тем не менее, onNewIntent вызывается каждый раз, когда я нажимаю на ссылку.

Это ошибка в Jetpack Navigation или я что-то забыл при настройке?

1 Ответ

0 голосов
/ 03 мая 2020

Согласно документации handleDeepLink() :

Эта функция вызывается автоматически для вас при первой установке графика, если вы передали Activity как контекст при создании этого NavController, , но должен вызываться вручную, если ваша активность получает новые Intents в Activity.onNewIntent(Intent).

NavController не переопределяет методы в вашей деятельности, поэтому вам нужно будет вызывать это вручную, если вы настаиваете на использовании android:launchMode="singleTask".

В соответствии с Одиночным разговором , вам вообще не следует использовать какие-либо флаги launchMode - по умолчанию это то, что вы хотите в 99,9% случаев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...