Вы можете попробовать чистый React Native способ сделать это:
Задача - это асинхронная c функция, которую вы регистрируете в AppRegistry, аналогично регистрации приложений React:
import { AppRegistry } from 'react-native';
AppRegistry.registerHeadlessTask('SomeTaskName', () => require('SomeTaskName'));
Затем в SomeTaskName. js:
module.exports = async (taskData) => {
// do your background job here
};
Вы можете выполнять в своей задаче все, что угодно, например сетевые запросы, таймеры и т. Д., Если это не касается пользовательского интерфейса. Как только ваша задача будет выполнена (т.е. обещание выполнено), React Native переведет go в режим «приостановки» (если не запущены другие задачи или не запущено приложение переднего плана).
Если вам нужно выполнить триггер Задание, нажав TouchableOpacity, вы можете выполнить:
import { AppRegistry, TouchableOpacity } from 'react-native';
const Task = require('SomeTaskName');
<TouchableOpacity
onPress={() => {
AppRegistry.registerHeadlessTask('SomeTaskName', () => Task);
}
>
<Text>Schedule regular job</Text>
</TouchableOpacity>
От: https://reactnative.dev/docs/headless-js-android.html