良好的社区,我正在使用https://www.npmjs.com/package/cordova-plugin-gpslocation插件在应用程序位于前台和后台时对设备进行地理定位,在后台我使用OnPause方法并执行SetInterval来执行方法插件每X次获取坐标(GetCurrentPosition)。我的问题是,当屏幕打开时,它工作正常,位置图标出现在通知栏中,但当屏幕关闭时,它似乎停止工作,只在我打开屏幕时重新捕获坐标。
我在Android平台中拥有以下权限,除了我在清单中的活动代码中添加了属性之外,还有Android平台。
<Uses-permission android: name = "android.permission.ACCESS_FINE_LOCATION" />
<Uses-permission android: name = "android.permission.ACCESS_COARSE_LOCATION" />
<Uses-permission android: name = "android.permission.AUTHENTICATE_ACCOUNTS" />
<Uses-permission android: name = "android.permission.GET_ACCOUNTS" />
<Uses-permission android: name = "android.permission.READ_SYNC_SETTINGS" />
<Uses-permission android: name = "android.permission.WRITE_SYNC_SETTINGS" />
<Uses-permission android: name = "android.permission.RECEIVE_BOOT_COMPLETED" />
<Uses-permission android: name ="com.google.android.gms.permission.ACTIVITY_RECOGNITION" />
<Uses-permission android: name = "android.permission.ACCESS_NETWORK_STATE" />
<Uses-permission android: name = "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<Uses-permission android: name = "android.permission.WAKE_LOCK" />
<Uses-permission android: name = "android.hardware.location" />
<Activity <span style = "text-decoration: underline;"> android: alwaysRetainTaskState = "true" android: configChanges = "orientation | keyboardHidden | keyboard | screenSize | locale" android: label = "@ string / activity_name "Android: launchMode =" singleTop "android: name =" MainActivity "android: theme =" @ android: style / Theme.DeviceDefault.NoActionBar "android: windowSoftInputMode =" adjustResize ">
如果有人可以给我一个帮助,我会很感激,或者如果你需要在清单或其他东西中添加一些其他财产,非常感谢。
答案 0 :(得分:0)
该插件似乎仅适用于活动状态。只有具有背景跟踪功能的插件才能满足您的期望。 有很多这样的插件, 让我告诉你我正在使用的那个 https://www.npmjs.com/package/cordova-plugin-mauron85-background-geolocation
backgroundGeolocation.configure(callbackFn, failureFn, {
desiredAccuracy: 10, // for accuracy
stationaryRadius: 20,
distanceFilter: 30, // minimum distance threshold
interval: 60000
});
这节省了大量电池,并且还可以在间隔和距离的基础上工作。 仅在设备穿过某个距离和/或在指定时间内采样。 当应用程序进入后台时,这将有效。 谢谢,快乐的编码:)