Proximity Alert und Frage zu Änderungen der API

J

JanF

Stammgast
82
Ich bin heute an der proximityAlert() des Location Managers verzweifelt:
LocationManager | Android Developers

Er hat mir einfach keinen Broadcast geschickt, wenn ich das Gebiet verlassen habe. Auch die Google Suche hat mir nicht wirklich geholfen (vielleicht habe ich falsch gesucht). Ich habe zwar einige Tutorial gefunden, wie ich das machen könnte, was ich bereits gemacht hatte - aber leider keine Antwort auf mein Problem.

Ich habe dann nochmal verschiendene API-Level durchprobiert - und siehe da, ab Level 10 wurde auch ein Broadcast beim verlassen des Gebietes gefeuert.
Vielleicht mache ich auch noch was falsch, halte ich aber in dem Fall für unwahrscheinlich.


Jetzt API Frage. Hätte ich das geänderte verhalten irgendwie finden können/müssen? Wenn ja, wo?


EDIT:
Es schien ein Eclipse Problem gewesen zu sein. Nachdem mir Gnome abgestüzt ist hat Eclipse mit dem Workspace so nicht mehr gestartet. Nachdem ich das Problem behoben hatte, funktionierte die Proximity Alert wie beschrieben auf den Geräten, die ich getestet habe - der Code blieb gleich. Projects -> Clean hatte ich vorher bereits ohne Effekt durchgeführt.
 
Zuletzt bearbeitet:
Bevor ich an einen Workaround gehe würde ich gerne wissen, ob ich mein Vorgehen verbessern kann.

Kann mir jemand sagen, ob wie ich das von mir beschriebene Verhalten a priori hätte wissen können?
 
Du nutzt dann requestLocationUpdates, richtig? Das geht laut Doku ab API lvl 9, hast es damit auch probiert?

MfG
 
Nee, ich nutzte bis jetzt nicht requestLocationUpdates, habe das Problem erstmal ruhen lassen und mich anderen Dingen gewidmet um zu sehen, ob ich neues Erfahre.
Die Sache ist aber doch wohl anders, als ich dachte.

Die Emulatoren verhalten sich unterschiedlich, je nach dem welche SDK Version ich für das Projekt wähle (habe mit Emulator mit google API 2.3.3 (level 10) getestet. Wenn das Projekt SDK level 8 ist, wird nur ein Broadcast bei Entering gefeuert, dafür aber mit richtiger booleschen Wert "KEY_ENTERING" (true). Ist Level 10 eingestellt wird sowohl beim Betreten als auch beim Verlassen ein Broadcast gefeuert, dann ist aber leider der Boolesche Wert immer false.

Ich bin doch noch nicht dahinter gekommen, wie es sich auf dem Galaxy S verhält. Auf jeden Fall unsauber. Der boolsche Wert wurde bis jetzt nie richtig gesetzt, Umstände unter denen ein Broadcast auch beim Verlassen gefeuert wird, habe ich noch nicht heraus finden können.
 
Zuletzt bearbeitet:

Ähnliche Themen

2
Antworten
6
Aufrufe
257
24559
2
M
Antworten
2
Aufrufe
627
Mozart40
M
Zurück
Oben Unten