我的行为很奇怪。 我正在使用Montemagno Geolocator插件创建xamarin.forms解决方案。 https://github.com/jamesmontemagno/GeolocatorPlugin。在调试模式下,一切都很好。
我有以下API配置: “编译使用过的Android版本:API27”, “目标最小的Android:API21”。
如果我输入“ Target Android version:API27”,则地理位置定位器始终会向我返回错误“不可用”。 如果我输入“目标Android版本:使用SDK版本使用编译”,一切正常,但Google Play商店不接受它,因为从8月1日起,它至少需要API26。
错误在哪里?
答案 0 :(得分:0)
更新************
我读了montemagno https://blog.xamarin.com/android-apps-google-play-target-api-level-requirements/
的有趣文章所以我将vs2017更新到了最新版本,我还更新了包括的所有nuget软件包:Xamarin.Forms.GoogleMaps,Plugin.CurrentActivity,Xam.Plugin.Geolocator,Xam.Plugin.Media。
Montemagno说“这些必须设置为特定版本,不能设置为“使用编译版本”,但是,在我的智能手机中,定位器仅在使用“使用编译版本”设置时才有效。如果我使用montemagno设置,我得到了locator.IsGeolocationAvailable = false!
如果我使用android:targetSdkVersion =“ 25” ...
答案 1 :(得分:0)
我通过使用插件“ Plugin.Permissions”引入几行代码来管理权限来解决问题。事实是,直到几个星期前,没有上述插件,一切都能顺利进行。 有关代码,请参见插件https://github.com/jamesmontemagno/GeolocatorPlugin
中的示例