better background tasks
This commit is contained in:
+27
-20
@@ -10,6 +10,7 @@ import 'package:disable_battery_optimization/disable_battery_optimization.dart';
|
||||
import 'package:flutter_background_service/flutter_background_service.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
import 'dart:math';
|
||||
import 'package:workmanager/workmanager.dart';
|
||||
|
||||
String formatMinutes(int minutes) {
|
||||
int hours = minutes ~/ 60;
|
||||
@@ -29,6 +30,8 @@ String formatMinutes(int minutes) {
|
||||
|
||||
@pragma('vm:entry-point')
|
||||
void callbackDispatcher() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
|
||||
Map content = await FileHandler.fileContent;
|
||||
int id = 15;
|
||||
for (String key in content.keys) {
|
||||
@@ -62,26 +65,26 @@ void callbackDispatcher() async {
|
||||
}
|
||||
}
|
||||
|
||||
@pragma('vm:entry-point')
|
||||
void onStart(ServiceInstance service) {
|
||||
Timer.periodic(const Duration(minutes: 15), (timer) {
|
||||
callbackDispatcher();
|
||||
});
|
||||
}
|
||||
// @pragma('vm:entry-point')
|
||||
// void onStart(ServiceInstance service) {
|
||||
// Timer.periodic(const Duration(minutes: 15), (timer) {
|
||||
// callbackDispatcher();
|
||||
// });
|
||||
// }
|
||||
|
||||
Future<void> initService() async {
|
||||
final service = FlutterBackgroundService();
|
||||
|
||||
await service.configure(
|
||||
iosConfiguration: IosConfiguration(),
|
||||
androidConfiguration: AndroidConfiguration(
|
||||
onStart: onStart,
|
||||
isForegroundMode: false,
|
||||
autoStart: true,
|
||||
autoStartOnBoot: true));
|
||||
|
||||
service.startService();
|
||||
}
|
||||
// Future<void> initService() async {
|
||||
// final service = FlutterBackgroundService();
|
||||
//
|
||||
// await service.configure(
|
||||
// iosConfiguration: IosConfiguration(),
|
||||
// androidConfiguration: AndroidConfiguration(
|
||||
// onStart: onStart,
|
||||
// isForegroundMode: false,
|
||||
// autoStart: true,
|
||||
// autoStartOnBoot: true));
|
||||
//
|
||||
// service.startService();
|
||||
// }
|
||||
|
||||
void main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
@@ -95,7 +98,11 @@ void main() async {
|
||||
)
|
||||
]);
|
||||
|
||||
await initService();
|
||||
|
||||
Workmanager().initialize(callbackDispatcher);
|
||||
Workmanager().registerPeriodicTask("1", "notifyTask", frequency: Duration(minutes: 15));
|
||||
|
||||
// await initService();
|
||||
runApp(const MyApp());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user