패키지, 저장소 및 앱 카테고리 검색

패키지 상세v1.0.2

flutter_alarm_background_trigger

Android용 플러터 플러그인으로, Android의 기본 알람 앱처럼 특정 시간에 백그라운드에서 앱을 시작합니다.

Android
30일 다운로드
41
좋아요
44
Pub 점수
140

패키지 설치

flutter pub add flutter_alarm_background_trigger

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

지정된 시간에 백그라운드에서 앱을 시작할 수 있게 해주는 안드로이드용 플러터 플러그인으로, 네이티브 안드로이드 알람 앱의 동작을 모방합니다. 앱이 종료되었거나 디바이스가 깊은 슬립 상태일 때도 앱을 깨우는 일정을 설정할 수 있어 알람, 리마인더 및 시각적 알림 애플리케이션에 적합합니다. JobScheduler 및 AlarmManager API를 활용하여 신뢰성 있는 실행을 보장합니다. iOS는 지원하지 않습니다. 패키지는 가볍고 기존 플러터 프로젝트와 원활하게 통합됩니다.

사용 사례

  • 알림 예약
  • 알림 앱 구현
  • 특정 시각에 백그라운드 작업 트리거하기
  • 시간 기반 알림 만들기
  • 수면 모드에서 앱 시작 활성화

주요 기능

  • 백그라운드 앱 시작
  • 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

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.