1

当我的应用程序在后台运行时,我使用下面的代码来获取加速度计值我在应用程序组件之外添加了下面的代码

TaskManager.defineTask('firstTask', async ({ data, error }) => {
  if (error) {
    // Error occurred - check `error.message` for more details.
    return; 
  }
  if (data) {
    //below 3 lines of code is the accelerometer is for the accelerometer tracking
    Accelerometer.addListener(accelerometerData => {
      console.log(accelerometerData);
      Accelerometer.setUpdateInterval(10000);
     })
    console.log('locations')
  }
});

下面的代码在应用程序组件内

   useEffect(() => {
    RegisterBackgroundTask();
   }, []);

  const RegisterBackgroundTask = async () => {
    try {
      await BackgroundFetch.registerTaskAsync('firstTask', {
        minimumInterval: 5, // seconds,
      })

      console.log("Task registered")
    } catch (err) {
      console.log("Task Register failed:", err)
    }
  }

当我控制台记录某些内容时,后台应用程序工作意味着当我关闭我的应用程序时,console.log 将显示在控制台上但是当我添加加速器时没有任何反应

关于我应该做什么的任何想法

4

0 回答 0