2017-04-09 89 views
1

我有权访问清单文件中检查的精细和粗略位置,并且第一次在Android模拟器(Android_Accelerated_x86(Android 7.1 - API 25))上运行应用程序时,它会记录纬度。但是,如果我第二次,第三次部署应用程序等等,即使超时时间为10000毫秒(没有抛出异常),它也会无休止地运行。如果我关闭并打开模拟器并再次部署应用程序,它会再次运行,等等。有想法该怎么解决这个吗?Xamarin XLabs Geolocator不能在Android上工作

public static class NetworkingTools 
{ 
    private static IGeolocator locator = Resolver.Resolve<IGeolocator>(); 

    static NetworkingTools() 
    { 
     locator.DesiredAccuracy = 50; 
     locator.StartListening(2000, 0, true); 
     GetPosition(); 
    } 

    public async static void GetPosition() 
    { 
     var position = await locator.GetPositionAsync(10000); 
     System.Diagnostics.Debug.WriteLine(position.Latitude); 
    } 
} 

回答

0

请注意,他们有他们的GitHub页面上的一句话:

注意:这个项目不再保留。它可能不适用于更新版本的Xamarin.Forms。

如果您有选择,我认为将它集成到您​​的项目是不明智的。相反,看看James Montemagno的Geolocator Plugin

+0

我尝试过,但它有同样的问题。现在我正在使用Google Play服务 - 位置。在android访问位置的核心,它将订阅位置改变,甚至获得当前位置。应用程序第一次运行时,它会从null更改为模拟位置。之后,仓位被存储,所以它不会改变,如果你试图获得它,它会无休止地运行。只有Google允许您访问直接存储在会话之间的最后一个已知位置。 – Martin

相关问题