2016-01-06 6 views
1

Как следует из названия вопроса, я ищу способ запуска внешнего приложения из приложения Xamarin.Forms. Например, у моего приложения есть список адресов, и когда пользователь нажимает на один из них, откроется встроенное приложение карты для текущей платформы (Google Maps для Android, Apple Maps для iOS). В случае, если это имеет значение, я настроен только на Android и iOS.Как я могу запустить внешнее приложение из Xamarin.Forms?

Я мог бы использовать службу зависимостей и, конечно, написать код запуска приложения на платформе, но я бы предпочел, чтобы мне только один раз написать его. Есть ли собственный способ сделать это в Xamarin.Forms? Я не смог найти что-либо официально зарегистрированное на сайте или форумах Xamarin.

ответ

7

Использование Device.OpenUri и передать ему соответствующий URI, в сочетании с Device.OnPlatform для форматирования URI на платформе

string url; 

Device.OnPlatform(iOS:() => 
    { 
    url = String.Format("http://maps.apple.com/maps?q={0}", address); 
    }, 
    Android:() => 
    { 
    url = String.Format("http://maps.google.com/maps?q={0}", address); 
    }); 

Device.OpenUri(url); 
Смежные вопросы