import 'dart:io'; // import 'package:android_intent_plus/android_intent.dart'; import 'package:android_intent_plus/android_intent.dart'; import 'package:fikoyt_mesaici/apps/mesaici/model/ayarlar/model_ayarlar.dart'; import 'package:fikoyt_mesaici/apps/mesaici/model/calisma_kayit/calisma_kayit.dart'; import 'package:fikoyt_mesaici/apps/mesaici/model/model_hareketler.dart'; import 'package:fikoyt_mesaici/core/Extensions/fiko_tarih.dart'; import 'package:fikoyt_mesaici/core/fikoyt.service.dart'; import 'package:flutter_local_notifications/flutter_local_notifications.dart'; import 'package:isar/isar.dart'; import 'package:workmanager/workmanager.dart'; @pragma('vm:entry-point') // Mandatory if the App is obfuscated or using Flutter 3.1+ void WorkManagerTaskFunc() { Workmanager().executeTask((task, inputData) async { final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); const AndroidInitializationSettings initializationSettingsAndroid = AndroidInitializationSettings('@mipmap/launcher_icon'); final InitializationSettings initializationSettings = const InitializationSettings(android: initializationSettingsAndroid); /** */ await flutterLocalNotificationsPlugin.initialize(initializationSettings, onDidReceiveBackgroundNotificationResponse: notificationTapBackground, onDidReceiveNotificationResponse: notificationTapBackground); if (task == "giris-takibi") { await flutterLocalNotificationsPlugin.show( 1, 'FikoYT Mesaici', 'İşe Giriş Kartınızda Bugün Giriş Yapılmamış.Giriş Yapmak İsterseni Alttaki Butonlara Dokunabilirsiniz.', const NotificationDetails( android: AndroidNotificationDetails( "FikoYT Servis", 'FikoYT Servis', icon: '@mipmap/launcher_icon', ongoing: false, enableVibration: true, channelShowBadge: true, importance: Importance.high, silent: false, actions: [ AndroidNotificationAction('com.fikoyt.mesaici.komut.aktifKart.giris.yap.saatinde', 'Saatinde', showsUserInterface: true), AndroidNotificationAction('com.fikoyt.mesaici.komut.aktifKart.giris.yap.simdi', 'Simdi', showsUserInterface: true), ], ), ), ); } /** */ if (task == "yedekleme") { Isar isar = Isar.getInstance("FikoYT.db") ?? await Isar.open( [CalismaKayitSchema, ModelAyarlarSchema, ModelHareketlerSchema], directory: await FikoYTService.programYolu(ekYol: "databases"), name: "FikoYT.db", inspector: false, ); await isar.copyToFile('${await FikoYTService.programYolu(ekYol: 'yedekler')}${DateTime.now().formatla('dd_MM_yyyy HH_mm_ss')}.FikoYedek'); await isar.close(); } return true; }); } @pragma('vm:entry-point') void notificationTapBackground(NotificationResponse notificationResponse) async { if (notificationResponse.actionId == "com.fikoyt.mesaici.komut.aktifKart.giris.yap.saatinde") { AndroidIntent intent = const AndroidIntent( action: 'com.fikoyt.mesaici.com.fikoyt.mesaici.komut', package: 'com.fikoyt.mesaici', arguments: {'komut': "com.fikoyt.mesaici.komut.aktifKart.giris.yap.saatinde"}, category: "android.intent.category.DEFAULT", ); await intent.launch(); } if (notificationResponse.actionId == "com.fikoyt.mesaici.komut.aktifKart.giris.yap.simdi") { AndroidIntent intent = const AndroidIntent( action: 'com.fikoyt.mesaici.komut', package: 'com.fikoyt.mesaici', arguments: {'komut': "com.fikoyt.mesaici.komut.aktifKart.giris.yap.simdi"}, category: "android.intent.category.DEFAULT", ); await intent.launch(); } }