Skip to main content

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 task
TaskManager.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()
() => Promise<void>
Unregisters all tasks

Platform Support

PlatformSupported
iOS
Android
Web

Resources