2016-06-09 26 views
0

In meiner App verwende ich Android Location Manager API und ich habe eine Anforderung zu identifizieren, ob die Standortkoordinaten vom normalen Location Manager sind oder wenn sie von Fake (Mock) Location Provider sind. Ich habe location.isFromMockProvider() verwendet. Sobald ich die App zur Bereitstellung eines gefälschten Standorts aktiviert habe, gibt die Methode "isFromMockProvider()" true zurück. Und danach spielt es keine Rolle, ob ich die App fake location app ein- oder ausschalte. Die Methode isFromMockProvider() gibt immer true zurück.Mock koordiniert Android Marshmallow

Ich fand, dass einmal FakeGPS App, einmal ausgelöst, überschreibt die Koordinaten des Standortmanagers und sobald ich die FakeGPS App stoppe, fängt der Standortmanager nicht an, korrekte Koordinaten zu sammeln.

Gibt es etwas, das ich vermisse?

Antwort

0

Enttäuscht mit keine Antwort, aber ich bin froh, dass ich es funktioniert :) Buchung der Auflösung, wie es jemand anderen helfen könnte.

Sobald die FakeGPS App beginnt, sich über den Ort lustig zu machen, wird der Standortmanager meiner App gestoppt. Jetzt, auch wenn ich den FakeGPS-App-Mocking-Service stoppe, wird der Standort-Manager meiner App nicht zurückgestoßen. Ich muss das Ereignis erkennen und den Standortmanager meiner App neu starten, nachdem ich einen Testanbieter entfernt und die Testorte gelöscht habe.

0

nur das Zurücksetzen und Testort entfernt haben, sollten

String t = LocationManager.GPS_PROVIDER; 
locationManager.clearTestProviderEnabled(t); 
locationManager.clearTestProviderLocation(t); 
locationManager.clearTestProviderStatus(t); 
locationManager.removeTestProvider(t);  
helfen