`void callbackDispatcher()async {
await WidgetsFlutterBinding.ensureInitialized();
Workmanager().executeTask((task, inputData) async {
FlutterLocalNotificationsPlugin flp = FlutterLocalNotificationsPlugin();
if(task == Workmanager.iOSBackgroundTask){
stderr.writeln("The iOS background fetch was triggered");
}
try{
// error occurs here
await Firebase.initializeApp();
var android = AndroidInitializationSettings('@mipmap/ic_launcher', );
var iOS = IOSInitializationSettings();
var initSetttings = InitializationSettings(android: android, iOS: iOS);
flp.initialize(initSetttings);
var androidx = AndroidNotificationDetails('channel id', 'channel NAME',
channelDescription: 'CHANNEL DESCRIPTION',
priority: Priority.high,
playSound: true,
importance: Importance.max);
var iOSx = IOSNotificationDetails();
var platform = NotificationDetails(android: androidx, iOS: iOSx);
bool a = Get.isRegistered<CihazController>();
CihazController cihazController;
if(a){
cihazController = Get.find();
}
else{
cihazController = await Get.put(CihazController());
}
await cihazController.connect();
await cihazController.getTopicsFromUser();
log(cihazController.cihazlar.toString());
await Future.delayed(Duration(seconds: 10));
var notifs = await cihazController.notifVarMi();
log("notifvar mş");
log(notifs.toString());
if(notifs != null){
if(notifs.isNotEmpty){
for (var notif in notifs){
log(notif.toJson().toString());
log("notif var mi x");
await flp.show(DateTime.now().microsecond.toInt(), notif.str1 ?? "asd", notif.str2 ?? "asdf", platform, payload: "asdsadad");
//await _showNotificationWithDefaultSound(flp);
//await flp.show(DateTime.now().microsecond.toInt(), notif.str1, notif.str2, platform, payload: "asdsadad");
}
}
}
}
catch (e){
stderr.writeln(e.toString());
return Future.error(e);
//throw (e);
}
return Future.value(true);
});
}`
Version
Describe the error
Flutter workmanager works reallay well on android side for my case. But I need to init firebase app but I got the following error. Everything is working on android side as well.
Unhandled Exception: MissingPluginException(No implementation found for method Firebase#initializeCore on channel plugins.flutter.io/firebase_core) #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:165:7) <asynchronous suspension> #1 MethodChannel.invokeListMethod (package:flutter/src/services/platform_channel.dart:353:35) <asynchronous suspension> #2 MethodChannelFirebase._initializeCore (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:31:23) <asynchronous suspension> #3 MethodChannelFirebase.initializeApp (package:firebase_core_platform_interface/src/method_channel/method_channel_firebase.dart:73:7) <asynchronous suspension> #4 Firebase.initializeApp (package:firebase_core/src/firebase.dart:40:31) <asynchronous suspension> #5 callbackDispatcher (package:tibbicihaz/main.dart:156:5) <asynchronous suspension> 2022-06-30 20:30:24.448439+0300 Runner[2582:288684] 8.15.0 - [Firebase/Firestore][I-FST000001] WatchStream (10ddb1938) Stream error: 'Unavailable: Network connectivity changed'My code;
Output of
flutter doctor -v