Могу ли я получать текущее местоположение каждые 10 секунд после того, как приложение убито или фон в реагирует - PullRequest
0 голосов
/ 25 марта 2020

1

В моем проекте я хочу отслеживать местоположение пользователя. Для этого я хочу обновить текущее местоположение пользователя на основе точности определения местоположения (для High-> 15 минут и Low -> 1 часа). При запуске приложения или в фоновом режиме, чем я могу обновить местоположение, но после уничтожения приложения из фона, не может обновить местоположение. Я использовал таймер для его вызова, но после уничтожения приложения (из фона) он не работает.

Итак, что я делаю, чтобы обновить местоположение, основываясь на точности определения местоположения, если пользователь не запускал приложение в фон также.

Пожалуйста, дайте любое предложение.

Ответы [ 2 ]

0 голосов
/ 26 марта 2020

Для фона и после уничтожения Фоновая геолокация (@ mauron85 /act-native-background-geolocation) . Пожалуйста, обратитесь ниже код


   BackgroundGeolocation.removeAllListeners();
        BackgroundGeolocation.configure({
            desiredAccuracy: BackgroundGeolocation.HIGH_ACCURACY,
            stationaryRadius: 50,
            distanceFilter: 50,
            notificationTitle: 'Background tracking',
            notificationText: 'ENABLED',
            startForeground: false,
            notificationsEnabled: false,
            debug: false,
            startOnBoot: false,
            stopOnTerminate: true,
            locationProvider: BackgroundGeolocation.ACTIVITY_PROVIDER,
            interval: 1000,
            fastestInterval: 10000,
            activitiesInterval: 10000,
            stopOnStillActivity: false,
        }, res => {
            BackgroundGeolocation.start();
            BackgroundGeolocation.on('location', async (location) => {
                BackgroundGeolocation.stop();
            })
        })


0 голосов
/ 25 марта 2020

response-native-location Этот NPM модуль поможет вам выполнить вашу задачу. Вы можете настроить его, как показано ниже.


RNLocation.configure({
    distanceFilter: 100, // Meters
    desiredAccuracy: {
      ios: "best",
      android: "balancedPowerAccuracy"
    },
    // Android only
    androidProvider: "auto",
    interval: 5000, // Milliseconds
    fastestInterval: 10000, // Milliseconds
    maxWaitTime: 5000, // Milliseconds
    // iOS Only
    activityType: "other",
    allowsBackgroundLocationUpdates: false,
    headingFilter: 1, // Degrees
    headingOrientation: "portrait",
    pausesLocationUpdatesAutomatically: false,
    showsBackgroundLocationIndicator: false,
})

...