expo-task-manager
Version: 55.0.6
Expo module that provides support for tasks that can run in the background. Used by expo-location, expo-background-fetch, and other modules.
Installation
npx expo install expo-task-manager
Usage
import * as TaskManager from 'expo-task-manager';
const TASK_NAME = 'my-background-task';
// Define task
TaskManager.defineTask(TASK_NAME, ({ data, error }) => {
if (error) {
console.error(error);
return;
}
console.log('Task data:', data);
});
// Check if task is registered
const isRegistered = await TaskManager.isTaskRegisteredAsync(TASK_NAME);
// Get registered tasks
const tasks = await TaskManager.getRegisteredTasksAsync();
// Unregister task
await TaskManager.unregisterTaskAsync(TASK_NAME);
API Reference
Methods
defineTask(taskName, task)
(taskName: string, task: TaskManagerTask) => void
Defines a background taskTaskManager.defineTask('my-task', ({ data, error }) => {
// Handle task execution
});
isTaskRegisteredAsync(taskName)
(taskName: string) => Promise<boolean>
Checks if task is registered
getRegisteredTasksAsync()
() => Promise<TaskManagerTaskDescriptor[]>
Gets all registered tasks
unregisterTaskAsync(taskName)
(taskName: string) => Promise<void>
Unregisters a task
unregisterAllTasksAsync()
Unregisters all tasks
| Platform | Supported |
|---|
| iOS | ✅ |
| Android | ✅ |
| Web | ❌ |
Resources