Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[Request]: Stream for Battery Level Changes

Ouverte
#3,733 1 commentaire 1 réaction 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
52/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
Calme
Stack technique
dart, flutter
Domaine
mobile-dev

Piste de recherche

Commencez par localiser les implémentations de plateforme de battery_plus et le point d’entrée existant du stream onBatteryStateChanged. Comparez les APIs de niveau de batterie d’iOS, Android, Web et macOS mentionnées dans l’issue, puis vérifiez que le nouveau stream émet nativement les changements de pourcentage sur chaque plateforme prise en charge, sans polling.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

enhancement triage
Plugin

battery_plus

Use case

Currently, battery_plus only provides a Future for batteryLevel and a Stream for batteryState. To track level changes, developers are forced to use Timer.periodic to poll the getter, which is inefficient and not reactive.

Proposal

I would like to request a new stream: Stream onBatteryLevelChanged.

Platforms support this natively, so we should not need to rely on polling.

  • iOS: We can observe UIDevice.batteryLevelDidChangeNotification. Note: Apple documentation states this notification is sent no more frequently than once per minute, which is acceptable for most use cases.
  • Android: We can register a BroadcastReceiver for Intent.ACTION_BATTERY_CHANGED. This intent contains the EXTRA_LEVEL and EXTRA_SCALE to calculate the percentage immediately upon change.
  • Web: The BatteryManager has a built-in event listener: onlevelchange.
  • macOS: The system provides a system loop notification: kIOPSPowerSourceHaveToUpdateNotification

Something like:

// Current
Stream<BatteryState> get onBatteryStateChanged;

// Proposed
Stream<int> get onBatteryLevelChanged;
Additional Context
  • This issue streamlines the battery level, but a stream to listen to all battery aspects would the preferrable solution. See #3446
Langage dominant
Dart
Étoiles
1.9k
Forks
1.3k
Merge moyen
8 h 43 min
PR mergées (30 j)
13

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de fluttercommunity/plus_plugins

Toutes les issues de fluttercommunity/plus_plugins

Issues similaires

Plus d'issues Dart

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.