Задача регистрируется, она также работает. Когда в последних приложениях она работает. При удалении она перестает работать!
Expo CLI 3.11.3 информация о среде: Система: ОС: Windows 10 Двоичные файлы: Пряжа : 1.21.0 - C: \ Users \ Steve \ AppData \ Roaming \ npm \ yarn.CMD npm: 6.9.0 - E: \ Program Files \ nodejs \ npm .CMD IDE: Android Studio : Версия 3.5.0.0 AI-191.8026.42.35.5900203
Версия SDK: 36.0.0 Автономное приложение на android 7
Просто чтобы подтвердить, что я был прав, я вошел в фон своих приложений в В настройках телефона я вижу, что приложение находится в фоновом режиме. Как только я удаляю его из недавних приложений, оно также исчезает из фонового процесса. Так что все как я описал, и в этом нет никаких сомнений. Я также использовал :
stopOnTerminate: false,
Но он ничего не делает.
Вот функция, которая регистрирует задачи и все:
import * as BackgroundFetch from 'expo-background-fetch';
import * как TaskManager from ' экспо-проблемно-менеджер "; экспорт asyn c функция registerFetchTask (taskName, jobCallback, интервал) {TaskManager.defineTask (taskName, jobCallback);
const status = await BackgroundFetch.getStatusAsync();
switch (status) {
case BackgroundFetch.Status.Restricted:
case BackgroundFetch.Status.Denied:
console.log("Background execution is disabled");
return;
default: {
console.log("Background execution allowed");
let tasks = await TaskManager.getRegisteredTasksAsync();
if (tasks.find(f => f.taskName === taskName) == null) {
console.log("Registering task");
await BackgroundFetch.registerTaskAsync(taskName,{
minimumInterval: 60,
stopOnTerminate: false,
startOnBoot: true,
});
tasks = await TaskManager.getRegisteredTasksAsync();
console.log("Registered tasks", tasks);
} else {
console.log(`Task ${taskName} already registered, skipping`);
}
console.log("Setting interval to", interval);
await BackgroundFetch.setMinimumIntervalAsync(interval);
}
}}
Внутри приложения. js Я звоню:
registerFetchTask('wow',()=>{
fetchServer('/test',{});
console.log('WOWWW HIIIIIIIII YGNNNNNN');
},5);
FetchServer будет добавлять вещи в мою базу данных на моем ноутбуке. Так что я могу видеть, выполняет ли приложение задачу, я получаю новые строки в базе данных.