Pakete, Repositories und App-Kategorien suchen

Paketdetailsv0.8.0

flutter_fgbg

Flutter-Plugin zum Erkennen, wann die App (nicht der Flutter-Container) in den Hintergrund oder Vordergrund wechselt

AndroidiOS
30-Tage-Downloads
130.000
Likes
182
Pub-Punkte
140

Paket installieren

flutter pub add flutter_fgbg

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

flutter_fgbg ist ein Flutter-Plugin, das erkennt, wann die App (nicht nur der Flutter-Container) auf Android und iOS zwischen Vordergrund- und Hintergrundzuständen wechselt. Es bietet zuverlässige Rückrufe für Lebenszyklusereignisse wie den Wechsel in den Hintergrund oder die Rückkehr in den Vordergrund, sodass Entwickler Ressourcen verwalten, Timer anhalten oder den Zustand angemessen speichern können. Das Plugin integriert sich nahtlos in native Plattform-APIs, um eine genaue Erkennung unter verschiedenen Gerätebedingungen sicherzustellen.

Anwendungsfälle

  • Verarbeitung von Hintergrundaufgaben
  • Mediawiedergabe pausieren
  • Benutzerzustand speichern
  • Ortungsaktualisierungen verwalten
  • Optimierung des Batterieverbrauchs

Hauptmerkmale

  • Plattformübergreifende Unterstützung (Android & iOS)
  • Lebenszyklus-Erkennung auf Native-Ebene
  • Einfaches ereignisbasiertes API
  • Leichtgewichtig und effizient
  • Echtzeit-Änderungen des Vordergrund-/Hintergrundzustands

Geeignet für

  • Apps mit präziser Lebenszyklus-Erwägung
  • Medien- oder Spiel-Apps
  • standortsensitive Anwendungen
  • Batteriebewusste Apps
  • Hintergrundverarbeitungsarbeitsabläufe

Hinweise

  • Erforderliche ordnungsgemäße Behandlung der Hintergrundausführungsbeschränkungen
  • Wird möglicherweise bei allen Geräteherstellern nicht sofort ausgelöst
  • Beschränkt auf App-Ebene-Zustand, nicht auf einzelne Flutter-Widgets
  • Keine Unterstützung für Web- oder Desktop-Plattformen
  • Abhängig vom Verhalten des nativen Betriebssystems, das variieren kann

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

Flutter Foreground/Background Event Notifier

Flutter plugin to detect when app(not Flutter container) goes to background or foreground.

Why

Flutter has WidgetsBindingObserver to get notified when app changes its state from active to inactive states and back. But it actually includes the state changes of the embedding Activity/ViewController as well. So if you have a plugin that opens a new activity/view controller or in iOS if you start a FaceID prompt then WidgetsBindingObserver will report as the app is inactive/resumed.

This plugin on the other hand reports the events only at app level. Since most apps need only background/foreground events this plugin is implemented with just those events. In iOS, plugin reports didEnterBackgroundNotification and willEnterForegroundNotification notifications and in Android, plugin reports these using androidx.lifecycle:lifecycle-process package. In other platforms plugin fallbacks to AppLifecycleListener API for signals.

Checkout example/ project to see the differences in action.

Getting Started

Add to your pubpsec:

flutter pub add flutter_fgbg

Do a clean build to integrate the plugin native code to app. Otherwise you might encounter MissingPluginException.

Use the built in Widget:

FGBGNotifier(
    onEvent: (event) {
        print(event); // FGBGType.foreground or FGBGType.background
    },
    child: ...,
)

Or consume the event stream directly:

import 'package:flutter_fgbg/flutter_fgbg.dart';

StreamSubscription<FGBGType> subscription;

...
// in initState
subscription = FGBGEvents.instance.stream.listen((event) {
    print(event); // FGBGType.foreground or FGBGType.background
});

// in dispose
subscription.cancel();

Caveats

In newer Android versions and image_picker library, picking an image will open a different app this will make Flutter app switch to background/foreground and flutter_fgbg will report this. At the moment there is no solution to this since the API is working as intented. Tracking the issue here.

As a work around you can use FGBGEvents.ignoreWhile API like this:

FGBGEvents.ignoreWhile(() async {
    await picker.pickImage(source: ImageSource.gallery);
    // or do something else that can put app to background but don't want to be handled by flutter_fgbg
});

Kategorien

Quell-Repository

Projekte, die dieses Paket verwenden