Skip to content

>> NEW LIBRARY: REACT NATIVE BACKGROUND TIMER FOR THE NEW ARCHITECTURE < #537

Description

@alimirzayev

Hey folks!

A lot of developers are still landing in this repository looking for a background timer that works with current React Native releases.

The original react-native-background-timer was designed around the legacy React Native bridge, and many open issues now relate to New Architecture support, Gradle compatibility, timer cancellation, multiple timers, NativeEventEmitter, WakeLock handling, and modern Expo projects.

Because of this, I built a completely new library from scratch for modern React Native:

NPM: @alimirzayev/react-native-background-timer

GitHub: alimirzayev/react-native-background-timer

This is not a fork and it does not reuse the old native implementation. The JavaScript, Android, and iOS layers were rebuilt around the React Native New Architecture.

Current features:

  • TurboModules and Codegen
  • First-class TypeScript support
  • Multiple independent timers
  • Real native timeout and interval cancellation
  • Immediate first interval tick
  • Drift-resistant Android scheduling
  • Android WakeLock lifecycle cleanup
  • iOS background-time expiration events
  • Expo development build support
  • React Native Web fallback
  • Safe behavior when the native module is unavailable
  • Migration helpers for the familiar legacy API

Compatibility currently verified:

  • React Native 0.82.1
  • React Native 0.83.10
  • React Native 0.84.1
  • React Native 0.85.3
  • React Native 0.86
  • Expo SDK 57 development builds
  • Android API 24+
  • iOS 16.4+

The package includes 38 Jest tests, Android native unit tests, Android lint, package verification, and GitHub CI.

Migration is straightforward:

- import BackgroundTimer from "react-native-background-timer";
+ import BackgroundTimer from "@alimirzayev/react-native-background-timer";

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions