2017-04-09 88 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

相關問題