This commit is contained in:
Fredrik Burmester
2025-07-16 19:51:17 +02:00
parent 2d434a0125
commit 83a264d5a1
7 changed files with 8448 additions and 497 deletions

View File

@@ -1,46 +1,41 @@
const BackgroundFetch = require("expo-background-fetch");
import * as BackgroundTask from "expo-background-task";
export const BACKGROUND_FETCH_TASK = "background-fetch";
export const BACKGROUND_FETCH_TASK_SESSIONS = "background-fetch-sessions";
export async function registerBackgroundFetchAsync() {
try {
BackgroundFetch.registerTaskAsync(BACKGROUND_FETCH_TASK, {
minimumInterval: 60 * 1, // 1 minutes
stopOnTerminate: false, // android only,
startOnBoot: false, // android only
await BackgroundTask.registerTaskAsync(BACKGROUND_FETCH_TASK, {
minimumInterval: 60, // 1 minute (in seconds, not milliseconds)
});
} catch (error) {
console.log("Error registering background fetch task", error);
console.log("Error registering background task", error);
}
}
export async function unregisterBackgroundFetchAsync() {
try {
BackgroundFetch.unregisterTaskAsync(BACKGROUND_FETCH_TASK);
await BackgroundTask.unregisterTaskAsync(BACKGROUND_FETCH_TASK);
} catch (error) {
console.log("Error unregistering background fetch task", error);
console.log("Error unregistering background task", error);
}
}
export const BACKGROUND_FETCH_TASK_SESSIONS = "background-fetch-sessions";
export async function registerBackgroundFetchAsyncSessions() {
try {
console.log("Registering background fetch sessions");
BackgroundFetch.registerTaskAsync(BACKGROUND_FETCH_TASK_SESSIONS, {
minimumInterval: 1 * 60, // 1 minutes
stopOnTerminate: false, // android only,
startOnBoot: true, // android only
console.log("Registering background task sessions");
await BackgroundTask.registerTaskAsync(BACKGROUND_FETCH_TASK_SESSIONS, {
minimumInterval: 60, // 1 minute
});
} catch (error) {
console.log("Error registering background fetch task", error);
console.log("Error registering background task sessions", error);
}
}
export async function unregisterBackgroundFetchAsyncSessions() {
try {
BackgroundFetch.unregisterTaskAsync(BACKGROUND_FETCH_TASK_SESSIONS);
await BackgroundTask.unregisterTaskAsync(BACKGROUND_FETCH_TASK_SESSIONS);
} catch (error) {
console.log("Error unregistering background fetch task", error);
console.log("Error unregistering background task sessions", error);
}
}