搜尋套件、儲存庫與 APP 分類

GitHub 儲存庫ishaquehassan/flutter_alarm_background_trigger

flutter_alarm_background_trigger

一個用於 Android 的 Flutter 插件,可於特定時間從背景啟動應用程式,類似於 Android 系統內建的鬧鐘應用程式。

flutter_alarm_background_trigger 專案封面
星標
14
分支
3
最近推送(UTC)
2026年2月28日
專案狀態
未封存

原始 README

以下為英文專案原文快照,最新內容請造訪 GitHub。

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 作者

Ishaq Hassan ↗

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

@DigitalHire-NewKarachi, Pakistan官方網站 ↗
語言KotlinDart

此儲存庫發佈的套件

使用的依賴

依賴清單 4 項

  • flutter{"sdk":"flutter"}
  • plugin_platform_interface^2.0.2
  • flutter_test開發依賴{"sdk":"flutter"}
  • flutter_lints開發依賴^2.0.0

如何選擇適合專案的儲存庫?

先依使用情境篩選,再比較專案活躍情況,最後到原始儲存庫確認使用要求。

  1. 透過儲存庫名稱、作者或描述搜尋,再依技術分類縮小範圍。
  2. 綜合星標、分支與最近推送比較專案;星標反映社群關注,不保證品質。
  3. 使用前在 GitHub 確認 README、授權條款與 Issues。

來源與維護

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

GitHub Docs — About repositories ↗