android 如何保持应用程序在本机后台响应中运行

6ojccjat  于 2023-02-10  发布在  Android
关注(0)|答案(3)|浏览(166)

我有一个React Native应用程序正在做一些任务,并发送数据到后端。我希望这个任务继续运行,即使应用程序关闭,因为在应用程序应该继续运行在设备的后台。
注意:此应用程序只能在android中运行

unhi4e5o

unhi4e5o1#

使用原生功能总是好的。如果你想在后台执行JavaScript任务。那么使用Headless JS https://reactnative.dev/docs/headless-js-android来实现它

0g0grzrc

0g0grzrc2#

你可以使用这个库https://github.com/transistorsoft/react-native-background-fetch。有很好的文档说明如何设置它,以及你必须做什么,以确保应用程序将执行任务,即使在后台/杀死。这是一个灰色地带,后台任务通常不是100%可靠的,但这个库提供了很好的解决方案。

332nm8kg

332nm8kg3#

我找到了一个Libarry,它在ANDROID中工作得很好,即使屏幕关闭
https://github.com/ocetnik/react-native-background-timer
遵循安装程序并调用函数,如示例====〉

import BackgroundTimer from "react-native-background-timer";

useEffect(() => {
    const timeoutId = BackgroundTimer.runBackgroundTimer(async () => {
      callYourFunction(); // Call your Function Here
    }, 10000);
    
   // 10000 is 10 Seconds

    return () => BackgroundTimer.clearInterval(timeoutId);
  }, []);

这也适用于iOS,但停止,如果你保持应用程序在后台超过2分钟,我不知道为什么
请如果有人知道如何在IOS中有这个...请帮助。
我还尝试了github.com/Rapsssito/react-native-background-actions图书馆
这在IOS中也有相同的问题
它不工作在Android..我使用的Android 12

相关问题