Реагируйте на приложение родного фонового сервиса cra sh - PullRequest
0 голосов
/ 26 апреля 2020

Я использую фоновый сервис, чтобы при завершении приложения или в фоновом режиме выполнялись некоторые задачи , Я ничего не выполняю в этом, я просто печатаю консоль. Так что кто-нибудь предоставит мне чистый код, чтобы я мог запускать фоновую службу в android реагировать на родную систему для выполнения какой-либо задачи каждую минуту без сбоя приложения.

1 Ответ

0 голосов
/ 26 апреля 2020

Вы можете попробовать чистый 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

...