React native 响应本地世博会位置权限、RequestForegroundPermissionsSync、RequestBackgroundPermissionsSync如何使其工作

React native 响应本地世博会位置权限、RequestForegroundPermissionsSync、RequestBackgroundPermissionsSync如何使其工作,react-native,expo,React Native,Expo,我正在开发一个应用程序,当应用程序处于活动状态或在后台时,它会记录位置 Permissions.getAsync被删除后,我的应用程序在后台不会录制coordonates 我知道我必须更改为requestForegroundPermissionsAsync和requestBackgroundPermissionsAsync,但我无法使其工作。(我不知道如何使用requestBackgroundPermissionsAsync) 代码如下: import { useState, useEffect

我正在开发一个应用程序,当应用程序处于活动状态或在后台时,它会记录位置

Permissions.getAsync被删除后,我的应用程序在后台不会录制coordonates

我知道我必须更改为requestForegroundPermissionsAsync和requestBackgroundPermissionsAsync,但我无法使其工作。(我不知道如何使用requestBackgroundPermissionsAsync)

代码如下:

import { useState, useEffect } from 'react';
import {
  Accuracy,
  requestForegroundPermissionsAsync,
  requestBackgroundPermissionsAsync,
  watchPositionAsync
} from 'expo-location';

export default (shouldTrack, callback) => {
  const [err, setErr] = useState(null);

  useEffect(() => {
    let subscriber;
    const startWatching = async () => {
      try {
        
        const { granted } = await requestForegroundPermissionsAsync()
           if (!granted) {
             throw new Error('Location permission not granted');
         }
        
        subscriber = await watchPositionAsync(
          {
            accuracy: Accuracy.BestForNavigation,
            timeInterval: 1000,
            distanceInterval: 10
          },
          callback
        );
      } catch (e) {
        setErr(e);
      }
    };

问题需要更多信息进行故障排除。首先,您是否同时使用iOS\Android\All?它在一个平台上工作,但在另一个平台上不工作吗?app.json中列出了哪些权限(这是托管\裸工作流)?前台更新工作正常吗?后台更新需要额外的代码,这里不包括这些代码

你看过世博会的文件了吗