2015-09-04 3 views
5

Ich muss eine App, die Benutzer Reise (Pfad) speichern, wenn er von A nach B bewegt. Jetzt weiß ich, dass ionicframework GPS verwenden kann, aber was passiert wann meine APP in den Hintergrund gehen? Wie kann meine App die Nutzerposition weiterhin speichern? Ist das möglich ? Gibt es Plugins (nicht $ 600 + bitte), die ich benutzen kann?GPS-Position, wenn mobile App im Hintergrund ist (mit ionicframework)

+0

Duplizieren von http://stackoverflow.com/questions/32386231/navigator-geolocation-getcurrentposition-when-screen-is-locked –

+0

Nein, das ist kein Duplikat, die andere Antwort bezieht sich auf ein Premium-Plugin. @ZioBudda hat – Gajotres

Antwort

3

Es ist möglich mit einem Plugin, das Sie als $ 600 + Premium-Plugin beziehen.

Menschen in der Regel vergessen, dass ältere Versionen sind ebenfalls verfügbar, einschließlich der letzte lebensfähige Android/iOS-Version: https://github.com/christocracy/cordova-plugin-background-geolocation/tree/0.3.7

ionic plugin add [email protected] 

Derzeit andere verschiedene Versionen gibt es nicht, alles andere nur eine Gabel dieser ursprünglichen Plugin ist.

+0

erwähnt. Ich versuche, das bereitgestellte Plugin für Hintergrund-Geolokalisierung zu verwenden. Aber ich bekomme Benachrichtigung Flash als "Hintergrund Geolocation: UNGÜLTIGE LIZENZ". Könnten Sie mir bitte helfen, es zu reparieren? Lassen Sie es mich wissen, wenn Sie weitere Informationen zu meinem Skript benötigen. Danke im Voraus. –

9

Ich habe gerade ein neues cordova background geolocation plugin für ios und android fertig, es ist kostenlos und einfach! Probieren Sie es aus:

https://github.com/pmwisdom/cordova-background-geolocation-services

Ionic Verbrauch:

//Wait for cordova/ionic ready to use the plugin 
ionic.Platform.ready(function(){ 
    //Make sure to get at least one GPS coordinate in the foreground before starting background services 
    navigator.geolocation.getCurrentPosition(); 

    //1. Get plugin 
    var bgLocationServices = window.plugins.backgroundLocationServices; 

    //2. Configure Plugin 
    bgLocationServices.configure({ 
     desiredAccuracy: 20, 
     distanceFilter: 5, 
     notificationTitle: 'BG Plugin', 
     notificationText: 'Tracking', 
     debug: true, 
     interval: 9000, 
     fastestInterval: 5000 
    }); 

    //3. Register a callback for location updates, this is where location objects will be sent in the background 
    bgLocationServices.registerForLocationUpdates(function(location) { 
     console.log("We got a BG Update" + JSON.stringify(location)); 
    }, function(err) { 
     console.log("Error: Didn't get an update", err); 
    }); 

    //4. Start the Background Tracker. When you enter the background tracking will start, and stop when you enter the foreground. 
    bgLocationServices.start(); 


    ///later, to stop 
    bgLocationServices.stop(); 

}); 
+0

Bitte geben Sie hier eine Beispielverwendung an. – Teepeemm

+0

Welche Art von Beispielnutzung möchten Sie? Das GitHub Repo zeigt Nutzungsdetails. – Mirrorcell

+0

Gotcha, ich werde mit einigen Informationen aktualisieren. – Mirrorcell