很抱歉,如果这很简单(也无法在Marshmallow模拟器上安装谷歌播放服务,并且有点紧张!)。
我的目标是在Visual Studio 2017(15.6.3)的Xamarin Android C#项目中获取GPS数据。
我正在关注Xamarin位置服务演练(https://docs.microsoft.com/en-gb/xamarin/android/platform/maps-and-location/location#using-the-fused-location-provider)和源代码示例。我尝试过分别针对Android 6.0(我的首选)以及7.1和MonoAndroid6以及MonoAndroid71。
我确实已经为Xamarin.GooglePlayService.Location,.Maps和所需的基础'安装了NuGet包。库(.Base,.Basement和.Tasks) - 版本32.961.0和42.1021.1(取决于目标)。
以下代码告诉我"类型或命名空间名称' FusedLocationProviderClient'找不到(你是否错过了使用指令或汇编引用?"
private FusedLocationProviderClient fusedLocationProviderClient;
我使用对象浏览器来浏览这些库,甚至没有看到FusedLocationProviderClient(只是FusedLocationProviderApi - 我在SO上读过的也是不推荐的......)。
我应该使用年龄较大的'针对6.0的位置服务API,还是我遗漏了其他内容?
非常感谢。
答案 0 :(得分:1)
只需添加NuGet包Xamarin.GooglePlayServices.Location
答案 1 :(得分:0)
Xamarin.Android
项目涉及三个API级别,一个是Xamarin特定的,一个是Target Framework
,不是与{{1}混淆在应用程序的清单中设置Target Android Version
。
targetSdkVersion
- 指定在构建应用程序时使用的框架。此API级别在编译时由Xamarin.Android使用。
Target Framework
- 指定您希望应用支持的最早的Android版本。此API级别由Android在运行时使用。
Minimum Android Version
- 指定您的应用要运行的Android版本。此API级别由Android在运行时使用。
将Target Android Version
设置为最新和最高(目前为8.1),将Target Framework
设置为Target Android Version
并(重新)安装您的软件包。
了解Android API级别:https://docs.microsoft.com/en-us/xamarin/android/app-fundamentals/android-api-levels?tabs=vswin