。どちらのプラグインも最新の安定バージョンです。コルドバのバックグラウンドモードジオロケーションiOSの10
これはandroidとios 8,9でうまくいきます。しかし、ios 10のリリースで問題が発生しました。私はいくつかのテストを実行し、バックグラウンド・プラグインがモード(バックグラウンドまたはフォアグラウンド)を正しい位置に一貫して更新していないようです。これは私たちのアプリを非常に不吉なものにします。
我々は/無効にバックグラウンドモードを有効にするために使用したコードは次のようになります。isRunningInBackground()がtrueを返すとき
function enableBackgroundMode() {
if ($rootScope.ionicReady && window.cordova && !cordova.plugins.backgroundMode.isEnabled()) {
cordova.plugins.backgroundMode.enable();
}
}
function disableBackgroundMode() {
if ($rootScope.ionicReady && window.cordova && cordova.plugins.backgroundMode.isEnabled()) {
cordova.plugins.backgroundMode.disable();
}
}
function isRunningInBackground() {
return $rootScope.ionicReady && window.cordova && cordova.plugins.backgroundMode.isActive();
}
、我々はバックグラウンドでユーザーに自分の場所を取得するには、次の関数を呼び出します。
function getCurrentLocationInBackground(interval) {
var deferred = $q.defer();
backgroundGeolocation.configure((location) => {
backgroundGeolocation.finish();
LogService.debug("Latitude: " + location.latitude + ", Longitude: " + location.longitude);
deferred.resolve(location);
}, (error) => {
LogService.error('BackgroundGeoLocation error');
deferred.reject(error);
}, {
desiredAccuracy: 10, //10m accurate
stationaryRadius: 5, // if stationary, device must move beyond 5m to engage background-tracking
distanceFilter: 5, //min distance a device must move before update event is generated
stopOnTerminate: true, // <-- enable this to clear background location settings when the app terminates
notificationTitle: translations['generic.background.tracking.title'],
notificationText: translations['generic.background.tracking.text'],
locationProvider: backgroundGeolocation.provider.ANDROID_ACTIVITY_PROVIDER,
activityType: "AutomotiveNavigation",
interval: interval ? parseInt(interval) : 30000
});
if (window.cordova) {
backgroundGeolocation.start();
}
return deferred.promise;
}
しかし、我々は背景に我々のアプリを入れて、前面に再び戻ると、IOS 10に私たちの背景をトリガーcordova.plugins.backgroundMode.isActive()がまだ本当戻っていることを大きなチャンスがありますロジック..
私はしばらくの間これをデバッグしてきましたが、私は問題を見ることができません。
私も今、これを見ています。あなたはそれを修正することに終わったのですか? – shi11i
無料ではない別の第三者プラグインを使用してしまいました。私はフリープラグインのサポートがまだないのではないかと心配しています。 – MajorT