Xamarin, глубокая ссылка на Android, перейдите в браузер по умолчанию

#android #xamarin #deep-linking #intentfilter #android-deep-link

Вопрос:

У меня есть активность Android в моем проекте xamarin с фильтром намерений для перехвата перенаправлений браузера oauth2.

 IntentFilter(new[] { Android.Content.Intent.ActionView },
DataScheme = "https",
DataHost = "my-return-site",
Categories = new[] { 
Android.Content.Intent.CategoryDefault,Android.Content.Intent.CategoryBrowsable })
 

Когда запускается перенаправление oauth2, мое приложение не улавливает событие, но,

если я запускаю просматриваемое намерение с помощью команды ADB, Android спрашивает меня, хочу ли я использовать браузер или мое приложение, чтобы открыть его.

Похоже, что мое приложение не может уловить намерение, потому что приложение браузера открыто, и в нем обнаружена ссылка на перенаправление.

Если вручную установить мое приложение в качестве приложения по умолчанию для описанной глубокой связи, оно работает должным образом, но это не может быть решением.

Как мое приложение может перехватить перенаправление через браузер по умолчанию?

Комментарии:

1. Проверьте эту документацию: developer.android.com/training/app-links Вам необходимо установить «Ссылку на приложение». Вы можете загрузить отпечаток SHA-256 подписи ваших приложений по указанному пути в вашем домене. Затем ОС Android автоматически свяжет эти URL-адреса с вашим приложением.