Search packages, repositories and app categories

GitHub repositoryishaquehassan/flutter_alarm_background_trigger

flutter_alarm_background_trigger

A flutter plugin for Android to launch app from background at specific time just like stock alarm app in Android

flutter_alarm_background_trigger project cover
Stars
14
Forks
3
Last push (UTC)
Feb 28, 2026
Project status
Active

Original README

English project snapshot. Visit GitHub for the latest content.

Flutter background alarm trigger

A flutter plugin for Android to launch app from background at specific time just like stock alarm app in Android

Installation
flutter_alarm_background_trigger: ^1.0.0
# or
flutter pub add flutter_alarm_background_trigger
Initialization
void main() {
  // Very important to call before initialize since it 
  // ensures the binding is available and ready before 
  // any native call
  WidgetsFlutterBinding.ensureInitialized();

  // initialize Required for alarm events to bind with flutter method channel
  FlutterAlarmBackgroundTrigger.initialize();

  runApp(const MyApp());
}

Create instance
var alarmPlugin = FlutterAlarmBackgroundTrigger();
Set Alarm
alarmPlugin.addAlarm(
      // Required
      DateTime.now().add(Duration(seconds: 10)),

      //Optional
      uid: "YOUR_APP_ID_TO_IDENTIFY",
      payload: {"YOUR_EXTRA_DATA":"FOR_ALARM"},

      // screenWakeDuration: For how much time you want 
      // to make screen awake when alarm triggered
      screenWakeDuration: Duration(minutes: 1)
  )
Receive event when alarm trigger
alarmPlugin.requestPermission().then((isGranted){
  if(isGranted){
    alarmPlugin.onForegroundAlarmEventHandler((alarm){
      // Perform your action here such as navigation
      // This event will be triggered on both cases, 
      // when app is in foreground or background!
      print(alarm.id)
    })
  }
})

Additional methods

Request permission to draw over other apps
Future<bool> requestPermission()
Add
Future<AlarmItem> addAlarm(
  DateTime time, 
  {
    String? uid, 
    Map<String, dynamic>? payload, 
    Duration screenWakeDuration
  }
)
Get alarm by uid
Future<List<AlarmItem>> getAlarmByUid(String uid)
Get all scheduled alarms
Future<List<AlarmItem>> getAllAlarms()
Get single alarm
Future<AlarmItem> getAlarm(int id)
Get alarm by payload
Future<List<AlarmItem>> getAlarmByPayload(Map<String, dynamic> payload)
Get alarm by time
Future<List<AlarmItem>> getAlarmByTime(DateTime time)
Alarm trigger event
void onForegroundAlarmEventHandler(OnForegroundAlarmEvent alarmEvent)
Delete single alarm
Future<void> deleteAlarm(int id)
Delete by payload
Future<void> deleteAlarmsByPayload(Map<String, dynamic> payload)
Delete by time
Future<void> deleteAlarmsByTime(DateTime dateTime)
Delete by uid
Future<void> deleteAlarmsByUid(String uid)
Delete all scheduled alarms
Future<void> deleteAllAlarms()
Ishaq Hassan GitHub avatar
GitHub author

Ishaq Hassan ↗

Flutter Framework Contributor | Engineering Manager @ DigitalHire | Open Source Author

@DigitalHire-NewKarachi, PakistanOfficial website ↗
LanguagesKotlinDart

Packages published by this repository

Dependencies used

Dependency list 4 items

  • flutter{"sdk":"flutter"}
  • plugin_platform_interface^2.0.2
  • flutter_testDevelopment{"sdk":"flutter"}
  • flutter_lintsDevelopment^2.0.0

How do I choose a repository?

Start with your use case, compare repository activity, and check the original project before adopting it.

  1. Search by repository name, owner or description, then narrow the results by topic.
  2. Compare stars, forks and recent pushes. Stars show community interest, not a guarantee of quality.
  3. Read the README, license and issues on GitHub before using a project.

Sources and maintenance

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗