2017-06-21 175 views
0

良好的社會背景隨着插件,我目前使用的https://www.npmjs.com/package/cordova-plugin-gpslocation插件geolocalize設備時,應用程序是在前臺和後臺,在後臺我使用的onPause方法並執行setInterval執行插件的方法以獲取每X時間的座標(GetCurrentPosition)。我的問題是,當屏幕打開時它完美的作品和位置圖標會出現在通知欄,但是當屏幕處於關閉狀態時似乎停止工作,只奪回當我打開屏幕上的座標。位置在應用程序的PhoneGap科爾多瓦的Android

我在Android Manifest,它是在安卓平臺之外,我在活動標籤添加的屬性還清單中的下列權限。

<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

看來,插件只適用於激活狀態。只能通過後臺跟蹤的作品像你期望的插件.. 有很多這樣的插件, 讓我給你我使用的是一個 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 });

這節省了大量的電池,也適用於區間和距離的基礎上。 只有當設備跨越一定距離和/或在指定時間時纔會採樣。 當應用程序在後臺運行時,這將工作。 感謝和快樂編碼:)

相關問題