cordova - 当应用程序在后台 ionic-cordova 中运行时如何与服务器交互?
问题描述
我正在使用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);
});
任何帮助将不胜感激。谢谢
解决方案
将您的配置更新为
let config: BackgroundGeolocationConfig = {
desiredAccuracy: 0,
stationaryRadius: 20,
distanceFilter: 10,
debug: true,
interval: 2000,
// Android
startForeground: true,
stopOnStillActivity: false
//IOS
pauseLocationUpdates: false,
saveBatteryOnBackground: false,
}
推荐阅读
- windows - 如何从命令行停止 vlc
- javascript - 如何更改它以检测台式机而不是移动设备?
- c# - 用字符串括号内的分号替换逗号的最佳方法
- haskell - Haskell - 用另一个函数包装我的函数时出现统一问题
- r - 更新到 v1.63 后 spatstat rbind.hyperframe 崩溃
- asp.net-core - asp.net核心主机上的子域错误404
- reactjs - 反应.map不允许我迭代对象
- c++ - 设置向量
::迭代器> - python - 如何使用 API 请求 python 打印州人口信息
- python - 使用带有声明性基础的烧瓶迁移而不是 db.model