Xamarin使用Google Play定位服务时FusedLocationProviderClient未找到排查
嘿,我来帮你排查这个问题!你遇到的FusedLocationProviderClient找不到的情况,大概率是几个常见的配置疏漏,咱们一步步来核对:
你可能装错了NuGet包
FusedLocationProviderClient属于定位服务模块,并不在Xamarin.GooglePlayServices.Maps包里!你需要单独安装Xamarin.GooglePlayServices.Location这个NuGet包。打开NuGet包管理器,搜索并安装它,务必确保版本和你已有的Maps包保持一致——版本不匹配很容易引发这类引用问题。别忘了添加命名空间引用
就算装对了包,代码里没引用对应命名空间也会报找不到的错误。在你的代码文件顶部加上:using Android.Gms.Location;清理重建项目,清除缓存
有时候NuGet包安装后,项目缓存会导致引用不生效。你可以手动删除项目文件夹下的bin和obj目录,然后在Visual Studio里选择“清理解决方案”,再重新“生成解决方案”。检查目标Android版本兼容性
FusedLocationProviderClient要求项目的目标Android版本至少是API 21(Android 5.0),更高版本当然没问题。你可以右键项目→属性→Android Manifest,确认目标框架版本符合要求。
如果做完这些还是有问题,你可以检查一下Google Play Services相关包的版本是否全部统一,比如Maps和Location包的版本号要完全相同,版本不一致经常会引发这类奇怪的引用错误。
内容的提问来源于stack exchange,提问作者O. Dacca

