3 Stimmen

So beenden Sie den Testortanbieter

Derzeit entwickle ich eine Anwendung, die Standorte in Android einbindet. Diese Anwendung soll Standorte zu bestimmten Zeitpunkten einspeisen. Davor und danach sollte normales GPS verwendet werden.

Meine Software ist in der Lage, erfolgreich zu Scheinstandorten und Injektionsstandorten zu wechseln. Aber ich bin nicht in der Lage, Android wieder auf normales GPS hören zu lassen.

Mein Code zum Einrichten:

mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
mLocationManager.addTestProvider(LocationManager.GPS_PROVIDER, false, false, false, false, true, true, true, 0, /*magic*/5);
mLocationManager.setTestProviderEnabled(LocationManager.GPS_PROVIDER, true);

Mein erfolgloser Versuch, aufzuhören:

mLocationManager.setTestProviderEnabled(PROVIDER_NAME, false);
mLocationManager.removeTestProvider(PROVIDER_NAME);

Meine Frage: Wie kann ich die Bereitstellung von Scheinstandorten beenden und das Standard-GPS von Android wiederherstellen?

2voto

Jordi Punkte 1357

Ich fand heraus, dass es dafür zwei Gründe gab.

Erstens, die setTestProviderEnabled(PROVIDER_NAME, false) Anruf war nicht erforderlich. Zweitens zeigte ein Blick in den Android-Quellcode, dass das normale GPS nicht automatisch aktiviert wird. Durch das Anfordern von Standortaktualisierungen nach dem removeTestProvider() Wenn Sie einen Anruf tätigen, wird das normale GPS-Signal aktiviert und alles funktioniert einwandfrei.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X