2017-04-09 7 views
1

マニフェストファイルで細かい場所と粗い場所にアクセスし、アプリケーションがAndroidのエミュレータ(Android_Accelerated_x86(Android 7.1 - API 25))で初めて実行される場合は、緯度を記録します。しかし、2回目、3回目などのアプリケーションをデプロイすると、タイムアウトが10000ミリ秒(例外はスローされません)でも無限に実行されます。エミュレータを閉じて開いてもう一度アプリケーションをデプロイすると、もう一度動作します。どのようにこれを修正するための任意のアイデア?Xamarin XLabs Androidで動作しないGeolocator

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サービスを使用しています - 場所。アンドロイドアクセスロケーションの中心に、現在のロケーションを取得するために変更されたロケーションに登録されます。アプリを初めて実行すると、ヌルからモックの位置に変わります。その後、位置は保存されるので変更されず、取得しようとすると無限に実行されます。 Googleだけが、セッション間で直接保存されている最後の既知の位置にアクセスすることができます。 – Martin

0

私は同じ問題を抱えていましたが、エミュレータが動作する方法は明らかです。コードに問題はありません。エミュレータの設定を開き、場所に移動して[送信]をクリックする必要があります。ここ

詳細:

Getting Location on Android Emulator more then once

関連する問題