20 votes

Comment planifier des tâches d'arrière-plan dans Flutter ?

J'ai beaucoup cherché mais je n'ai pas trouvé de packages ou de moyen de programmer des tâches en arrière-plan dans Flutter. Comme dans Android, il y a WorkManager , AlarmManager .

Je sais que je peux accéder à ces classes en utilisant MethodChannel Mais je veux quelque chose qui fonctionne à la fois pour iOS et Android.

(Il est très décevant qu'un framework mobile n'ait pas la possibilité de planifier des tâches en arrière-plan).

6voto

Moon Points 11

Ce que vous voulez faire, c'est-à-dire une programmation multiplateforme, n'est pas une limitation de Flutter. C'est une limitation d'iOS. Voir ce qui suit Poste SO à laquelle il est fait référence dans le présent document. Commentaire GitHub .

4voto

tim Points 2842

Il existe un Article de blog sur Medium qui explique comment procéder.
Cependant, nous avons pensé que c'était trop compliqué à mettre en place. plugin qui vous aide dans cette tâche.

//Provide a top level function or static function.
//This function will be called by Android and will return the value you provided when you registered the task.
//See below
void callbackDispatcher() {
  Workmanager.executeTask((task) {
    print("Native echoed: $task");
    return Future.value(true);
  });
}

Workmanager.initialize(
    callbackDispatcher, //the top level function.
    isInDebugMode: true //If enabled it will post a notification whenever the job is running. Handy for debugging jobs
)

Nous supportons le Workmanager d'Android et le performFetch d'iOS.


Pour l'instant, il ne fonctionne que pour les projets Android, mais nous envisageons de l'étendre à iOS prochainement.
Je mettrai à jour cette réponse dès qu'elle sera disponible.


Nous prenons également en charge l'iOS. Il s'agit encore d'une version alpha, mais essayez-la.
Nous avons rédigé une lettre de remerciement Moyen aussi.

2voto

jwehrle Points 514

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X