2011-01-14 3 views
0

Ich weiß, dass Sie GPS in Ihrer Anwendung nicht einschalten können, ohne zu Systemeinstellungen gehen. Aber ich habe GPS-on/off-Widget heruntergeladen und dieses Widget macht den Job. Ich habe die APK dekompiliert, um zu sehen, wie der Programmierer die Arbeit ohne Erfolg erledigt hat. Dex-Dateien zeigen den Code nicht, sondern Funktionen und Informationen. Idee, wie hat er das gemacht?Aktivieren Sie GPS wie GPS ein/aus Widget

+0

Brummen; Ich habe nie darauf geachtet, ich habe jetzt in vielen Themen akzeptierte Antworten markiert :) – Pachanka

Antwort

2

verwenden Sie die folgende Funktion

buildAlertMessageNoGps() und launchGPSOptions()

Ihr Ziel zu erreichen.

siehe The Link

+0

nein, ohne zu den Einstellungen zu gehen – Pachanka

+0

launchGPSOptions öffnen Sicherheit Registerkarte, aber nicht Standort –

0

Sie können den Quellcode schauen, wenn er es geschrieben. Manchmal hosten Leute ihren Code auf GIT und Sie können ihr gesamtes Projekt durchsuchen. Insbesondere, wenn Sie mit dem Dekompilieren von Code mit dalvik vertraut sind, dann ist das eine schwierige Route.

Wenn Sie das GPS umschalten möchten, lassen Sie Ihr Widget einfach eine Aktivität aktivieren, die das GPS durch Übergeben des Status des Widgets an die Aktivität über eine Absicht schaltet. Dann lassen Sie Ihre Aktivität analysieren und schließen Sie sich dann.

Jedoch; Ich würde es vorziehen, dies über einen Dienst zu tun, bei dem es sich um eine Aktivität ohne UI handelt. Dieser Dienst kann mit Ihrer App gestartet werden und wenn eine bestimmte Sendung empfangen wird, führen Sie eine Funktion aus, die über Ihr Widget ausgelöst wird.

Insbesondere müssten Sie in einer Art von Broadcast-Listening suchen. Es gibt den XML-basierten Intent-Filter, der SOFORT diese bestimmten Sendungen an Ihre App sendet, was entsprechend gehandhabt werden kann.

Sagen Sie zum Beispiel, Ihr Widget ist eine Umschaltfläche mit einem Titel. Wenn Sie die Schaltfläche umschalten, senden Sie den Widget-Code mit dem Status des Umschaltknopfes eine Sendung mit einer Absicht an Ihren Dienst. Dann würden Sie im Dienst den Zustand des GPS oder einer anderen Komponente des Telefons steuern.