A flutter plugin for Android to launch app from background at specific time just like stock alarm app in Android
flutter_alarm_background_trigger: ^1.0.0
# or
flutter pub add flutter_alarm_background_trigger
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());
}
var alarmPlugin = FlutterAlarmBackgroundTrigger();
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)
)
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)
})
}
})
Future<bool> requestPermission()
Future<AlarmItem> addAlarm(
DateTime time,
{
String? uid,
Map<String, dynamic>? payload,
Duration screenWakeDuration
}
)
Future<List<AlarmItem>> getAlarmByUid(String uid)
Future<List<AlarmItem>> getAllAlarms()
Future<AlarmItem> getAlarm(int id)
Future<List<AlarmItem>> getAlarmByPayload(Map<String, dynamic> payload)
Future<List<AlarmItem>> getAlarmByTime(DateTime time)
void onForegroundAlarmEventHandler(OnForegroundAlarmEvent alarmEvent)
Future<void> deleteAlarm(int id)
Future<void> deleteAlarmsByPayload(Map<String, dynamic> payload)
Future<void> deleteAlarmsByTime(DateTime dateTime)
Future<void> deleteAlarmsByUid(String uid)
Future<void> deleteAllAlarms()