提示用户使用地图应用程序

时间:2017-08-31 10:30:16

标签: c# xamarin xamarin.ios xamarin.android xamarin.forms

我目前正在开发的Xamarin.Forms应用程序必须使用他安装的任何地图应用程序将用户发送到特定位置。

我想提示用户选择他已安装的任何地图应用程序之一(本机应用程序 - iOS地图或Android Google地图,或任何其他应用程序,如Waze)。

Device.OpenUri(new Uri(request));工作正常但它只是打开原生应用,但没有显示可用的应用。

我有办法做到这一点吗?

1 个答案:

答案 0 :(得分:3)

iOS中无法获取显示地图的应用程序列表。

但是,您可以显示自己的应用程序列表,该列表支持使用DisplayActionSheet()

显示地图

然后,您可以通过检查用户设备上是否安装了应用程序来显示或隐藏该列表中的应用程序。

在iOS中,这可以通过CanOpenURL()

完成

请参阅documentation

示例,

要检查是否安装了Google地图,您可以

UIApplication.SharedApplication.CanOpenUrl(new NSUrl("comgooglemaps://"));

要使其工作,您需要在info.plist文件中声明它,如

<key>LSApplicationQueriesSchemes</key>
<array>
<string>comgooglemaps</string>
</array>