Фоновая задача не работает в Expo React Native App?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Фоновая задача не работает в Expo React Native App?

Сообщение Anonymous »

Я строю приложение Pomodoro, и я хочу, чтобы таймер продолжал отсчитывать, даже когда пользователь блокирует экран или перемещает приложение в фон. Как только таймер достиг 0, он воспроизводит пользовательский аудиофайл по выбору пользователя. Тем не менее, я не могу получить фоновую задачу для запуска. Я создал фиктивную фоновую задачу, но я вообще не могу запустить ее.

Код: Выделить всё

const BACKGROUND_TASK_INDENTIFIER = "background-task";

TaskManager.defineTask(BACKGROUND_TASK_INDENTIFIER, async () => {
const status = await BackgroundTask.getStatusAsync()
console.log("Executing background task", status)
return setTimeout(() => console.log("Status of Background task ", status), 3000)
})

async function registerBgTask(){
return BackgroundTask.registerTaskAsync(BACKGROUND_TASK_INDENTIFIER)
}

async function unregisterBgTask(){
return BackgroundTask.unregisterTaskAsync(BACKGROUND_TASK_INDENTIFIER)
}

// inside component
useEffect(() => {
const subscription = AppState.addEventListener("change", async (state) => {
if (state === "background") {
console.log("registering task...")
await registerBgTask() // the code in my task here doesn't run
} else {
console.log("unregistering task...")
await unregisterBgTask()
}
})

return () => subscription.remove()
}, [])
Если возможно, я хотел бы знать, почему задача не выполняется, а также как я могу решить эту проблему.

Подробнее здесь: https://stackoverflow.com/questions/797 ... native-app
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»