Android: Der Mock-Standort wird nach einigen Sekunden wieder auf Original zurückgesetzt

8

Ich habe eine Android-App, in der ich den Benutzer brauche, um ihren aktuellen Standort zu verspotten. Unten ist der Code, den ich benutze, der Benutzer den grünen Knopf drücken kann, um zu beginnen, über ihren Standort zu spotten.

Der folgende Code fängt an, die Position zu fälschen, wenn "grüne Taste" gedrückt wird.

%Vor%

Wenn ich einen Marker auf der Karte platziere und den grünen Knopf drücke. Das Spotten von Orten beginnt. Dieser "falsche Ort" wird zu meinem jetzigen Aufenthaltsort.

Aber nach etwa 10-20 Sekunden endet das Spott. Mein "realer Standort" wird zu meinem aktuellen Standort. Ich habe viele Beispiele online gesehen und sie verwenden den gleichen Code, mit dem ich mich über den Ort lustig mache. Ich weiß nicht, warum das mit meiner App passiert. Jede Hilfe wäre willkommen.

    
Parth Bhoiwala 17.12.2016, 18:05
quelle

3 Antworten

2

Die Standortanfrage wirkt sich zunächst auf Ihren Scheinstandort für den entsprechenden Standortanbieter aus.

Wenn Sie einen Mock-Standort für den GPS-Anbieter erstellen und festlegen und dann erneut eine Standortanfrage für den GPS-Anbieter stellen, wird der Scheinort beibehalten, bis die GPS-Hardware einen neuen Standort erhält. Dies könnte 10-20 Sekunden oder mehr dauern ( Aber nach 10-20 Sekunden endet das Spott nur ... )

Und auch diese Frage ist die Antwort auf das Problem einiger gefälschter Standort-Apps. Sie können Kommentare wie "Ich kann nicht meinen aktuellen Standort nach der Verwendung dieser App erhalten !!!" auf dem Markt. Weil sie wie Sie eine Standortanfrage stellen müssen.

Und zuletzt, bitte wiederholen Sie die Mocking-Operation im Dienst. Ich schlage vor, es im Hintergrundthread zu machen, vielleicht alle 1 oder 2 Sekunden. Auf diese Weise können Sie die Auswirkungen möglicher Standortanforderungen anderer Anwendungen verringern.

%Vor%     
Blackkara 27.12.2016, 12:54
quelle
0

Versuchen Sie, die Updates nach dem Einstellen des falschen Standorts anzuhalten.

%Vor%

Weitere Informationen finden Sie unter Ссылка

    
Phil 19.12.2016 19:41
quelle
-1

Sie müssen nach dem Festlegen des Mockorts weitere Standortanforderungen ablehnen.

verwenden Sie manager.removeUpdates (this). Wie die Dokumentation sagt:

Entfernt jede aktuelle Registrierung für Standortaktualisierungen der aktuellen Aktivität mit dem angegebenen LocationListener. Nach diesem Aufruf treten für diesen Listener keine Aktualisierungen mehr auf. Daher wird der falsche Standort weiterhin festgelegt.

    
iamgopal 26.12.2016 12:02
quelle

Tags und Links