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

套件詳情v1.0.2

flutter_alarm_background_trigger

一個用於 Android 的 Flutter 插件,可在特定時間從背景啟動應用程式,功能類似於 Android 的原生鬧鐘應用程式。

Android
近 30 天下載
41
喜歡數
44
Pub 分數
140

安裝套件

flutter pub add flutter_alarm_background_trigger

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

一個用於 Android 的 Flutter 插件,可在指定時間從背景啟動應用,模擬原生 Android 鬧鐘應用的行為。它允許開發者在應用關閉或裝置處於深度睡眠時排程應用喚醒,非常適合用於鬧鐘、提醒和定時通知類應用。此插件利用 Android 的 JobScheduler 和 AlarmManager API 來確保可靠執行。不支援 iOS。該套件輕量且可與現有的 Flutter 項目無縫整合。

適用情境

  • 排程警告
  • 實施提醒應用程式
  • 在特定時間觸發後台任務
  • 建立基於時間的通知
  • 從睡眠模式啟動應用

主要特色

  • 背景應用啟動
  • 僅限 Android 支援
  • 使用 JobScheduler 和 AlarmManager
  • 與 Flutter 的簡單整合
  • 可靠時間用於排程事件

適合對象

  • 鬧鐘應用開發者
  • 提醒系統建構器
  • 時間觸發的背景處理
  • 專注於 Android 的 Flutter 應用
  • 需要精確喚醒排程的應用

使用建議

  • 僅適用於 Android
  • 需要正確的 Android 清單設定
  • 可能受到電池優化設定的影響
  • 僅限 Android 平台
  • 需要使用者權限以在背景執行

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

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()

所屬分類

依賴

依賴清單 1 項

  • plugin_platform_interface^2.0.2

原始碼儲存庫

使用此套件的專案

暫無相關資料。