как использовать API ионной фоновой геолокации плагина отделка? - PullRequest
0 голосов
/ 28 августа 2018

Я не совсем понимаю разницу между API stop () и finish () плагина API плагина ionic backgroundgeoloaction. Как документальное описание ниже: finish () используется только для iOS. Нужно ли всегда добавлять его в функцию configure () для приложения iOS?

import { BackgroundGeolocation, BackgroundGeolocationConfig, BackgroundGeolocationResponse } from '@ionic-native/background-geolocation';

constructor(private backgroundGeolocation: BackgroundGeolocation) { }

...

const config: BackgroundGeolocationConfig = {
            desiredAccuracy: 10,
            stationaryRadius: 20,
            distanceFilter: 30,
            debug: true, //  enable this hear sounds for background-geolocation life-cycle.
            stopOnTerminate: false, // enable this to clear background location settings when the app terminates
    };

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

    console.log(location);

    // IMPORTANT:  You must execute the finish method here to inform the native plugin that you're finished,
    // and the background-task may be completed.  You must do this regardless if your HTTP request is successful or not.
    // IF YOU DON'T, ios will CRASH YOUR APP for spending too much time in the background.
    this.backgroundGeolocation.finish(); // FOR IOS ONLY

  });

// start recording location
this.backgroundGeolocation.start();

// If you wish to turn OFF background-tracking, call the #stop method.
this.backgroundGeolocation.stop();

1 Ответ

0 голосов
/ 28 августа 2018

функция остановки ()

Эта функция останавливает плагин. Это действует как переключатель. Вы можете использовать его, когда пользователь отключает эту функцию или когда она вам больше не нужна.

функция отделки ()

Эта функция указывает ОС, что задание (для получения текущего местоположения) завершено. Поскольку плагин все еще работает, у него будут другие задачи, подобные этой позже (до тех пор, пока в следующий раз ему не понадобится местоположение, возможно, через несколько секунд). Для каждой задачи вы должны указать ОС, что задача выполнена, когда она есть.

Без этого вызова функции IOS будет поддерживать соединение открытым с плагином. Итак, как указано в документе, для приложения IOS вы всегда должны использовать его в этом плагине в функции обратного вызова.

Скажите, если я не достаточно ясен.

...