From 4c4a1c7f201d4feb2935a46a22d536119301a560 Mon Sep 17 00:00:00 2001 From: DragonSlayer_14 Date: Sun, 25 Jan 2026 17:39:15 +0100 Subject: [PATCH] =?UTF-8?q?Feat:=20F=C3=BCgt=20die=20M=C3=B6glichkeit=20hi?= =?UTF-8?q?nzu,=20einen=20Hintergrundtask=20sofort=20auszuf=C3=BChren?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/Controller/background_task_controller.dart | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/Controller/background_task_controller.dart b/lib/Controller/background_task_controller.dart index f210263..a877ff2 100644 --- a/lib/Controller/background_task_controller.dart +++ b/lib/Controller/background_task_controller.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'package:flutter/foundation.dart'; import 'package:isolate_manager/isolate_manager.dart'; +import 'package:uuid/uuid.dart'; import 'package:workmanager/workmanager.dart'; import '../Tasks/BackgroundHandler/workers.dart'; @@ -50,4 +51,18 @@ class BackgroundTaskController { } } } + + /// Führt den angegebenen Task sofort aus. + static Future run(final String taskName) async { + if (!kIsWeb && Platform.isAndroid) { + final String uuid = const Uuid().v4(); + unawaited(Workmanager().registerOneOffTask('$taskName-$uuid', taskName)); + } else { + unawaited(IsolateManager.runFunction(runTask, { + 'taskName': taskName, + 'initialDelayMinutes': 0, + 'frequencyMinutes': 0, + })); + } + } }