当应用程序在后台ionic-cordova中运行时,如何与服务器交互?

时间:2018-10-25 09:36:07

标签: cordova ionic-framework geolocation cordova-plugins

我正在使用 cordova-plugin-mauron85-background-geolocation 来获取后台位置,即使该应用程序未在前台运行也是如此。我要实现的是获取用户的坐标并将其发送或发布到服务器以进行实时位置跟踪和更新数据库。 我认为问题在于定位点正在后台更新,但数据未发布到服务器。 当应用程序不在前台时,是否可以与服务器进行交互。

这是我的代码:

// Background Tracking
let config: BackgroundGeolocationConfig = {
desiredAccuracy: 0,
stationaryRadius: 20,
distanceFilter: 10,
debug: true,
interval: 2000
};

this.backgroundGeolocation
.configure(config)
.subscribe((location: BackgroundGeolocationResponse) => {

console.log('BackgroundGeolocation: ' + location.latitude + ',' + location.longitude);

// Run update inside of Angular's zone
this.zone.run(() => {
this.lat = location.latitude;
this.lng = location.longitude;
});

// Server interaction to POST location coordinates.

}, (err) => {

console.log("ERROR in config", err);

});

任何帮助将不胜感激。 谢谢

1 个答案:

答案 0 :(得分:0)

将您的配置更新为

let config: BackgroundGeolocationConfig = {
desiredAccuracy: 0,
stationaryRadius: 20,
distanceFilter: 10,
debug: true,
interval: 2000,
 // Android
startForeground: true,
stopOnStillActivity: false

//IOS
 pauseLocationUpdates: false,
saveBatteryOnBackground: false,

}