Ich versuche Beacons zu hören, wenn die App auf Android geschlossen (getötet) wird (Taskmanager abgewischt).Altbeacon Android - EnterRegion, während App getötet wird (nicht im Hintergrund)
Ich benutze Appcelerator Titanium 5+ und für die Beacons mit dem Modul https://github.com/dwk5123/android-altbeacon-module. Die App funktioniert gut, wenn es im Hintergrund ist, aber nicht, wenn Sie es schließen. Ich habe versucht, die Altbeacon.setRunInService() -Methode einen App-Service auf Titanium zu erstellen, und es scheint nicht zu funktionieren.
Ich habe auch versucht, das Modul zu modifizieren http://altbeacon.github.io/android-beacon-library/background_launching.html zu implementieren, aber ich bin nicht in der Lage, die Application-Klasse zugreifen, da Titan auf dem Build-Prozess erzeugt. Wenn ich eine Application-Klasse erstelle und sie auf das Manifest setze, überschreibt sie meine Titanium App Application-Klasse und führt sie nicht aus.
Auch in der Modulklasse „AndroidAltbeaconModuleModule“ Ich habe versucht, die BootstrapNotifier Schnittstelle und die Methoden zu implementieren: didDetermineStateForRegion
, didEnterRegion
und didExitRegion
. Dann auf onAppCreate
Methode versucht zu implementieren:
Region region = new Region("My Region", Identifier.parse(
"00000000-0000-0000-0000-000000000001"), null, null);
regionBootstrap = new RegionBootstrap(this, region);
aber this
auf regionBootstrap
Konstruktor nicht statisch ist und bekam eine Fehlermeldung darüber.
Zweitens habe ich versucht, eine nicht-statische Methode zu erstellen und diesen Code aus dem Modul aufzurufen. Es wird BootstrapNotifier-Ereignissen erfolgreich angehört, aber nicht, wenn die App beendet wird, nur im Hintergrund. Liegt das daran, dass sich der regionBootstrap nicht in der onCreate-Methode der Application-Klasse befindet? Ich habe diese Frage Using the AltBeacon library without extending Application und diese Implementing BootstrapNotifier on Activity instead of Application class sowie überprüft, wo Davidgyoung (Schöpfer der Altbeacon lib) gab eine gute Antwort, aber nicht möglich (zumindest für mich) mit Titanium implementiert werden.
Ist die einzige Möglichkeit, ein Beacon mit App mit dieser Anwendungsfunktionalität getötet zu bemerken? Ich habe ein wenig versucht, einen JobService und einen BroadcastReceiver im Modul zu implementieren, aber ich bin kein so guter Java/Android Entwickler und das könnte eine Menge Zeit brauchen. Hat jemand eine extra Idee? Bitte teilen Sie es =)
Vielen Dank im Voraus!