Вы можете использовать пакет Xamarin.Essentials: Launcher NuGet.
Вам потребуется изменить код, чтобы он выглядел примерно так, как показано ниже: псевдокод
var supportsWaze = await Launcher.CanOpenAsync("whateverTheWazeUriSchemeIs://");
var supportsGoogleMaps = await Launcher.CanOpenAsync("whateverTheUriSchemeIs://");
Затем вам нужно будет предоставить пользователю какой-то пользовательский интерфейс, чтобы он мог выбрать картографическое приложение, основываясь на том, что эти логические значения истинны. Я бы использовал ActionSheet
Затем вы можете использовать метод await Launcher.OpenAsync
, чтобы открыть правильный URI на основе любого выбора, сделанного пользователем. Вы также можете предложить им запомнить этот выбор на потом.
iOS не позволит вам переопределить приложения по умолчанию для ОС, но в вашем собственном приложении вы можете выбрать способ запуска других приложений. Приложения Google являются хорошим примером этого.