When app is in background, onResume is not called but I get some kind of default notification in tray with blank icon and no image.
When I click this notification, onResume is then called and app is opened but does not navigate to the correct route.
Firebase message is behaving as expected when flutter app is in foreground. - onMessage is called and notification has icon and image in tray.
I'm wondering if the setup for notification/messaging is in the wrong location.
class NotificationIcon extends StatefulWidget {
@override
NotificationIconState createState() => NotificationIconState();
}
class NotificationIconState extends State<NotificationIcon> {
FirebaseMessaging firebaseMessaging = new FirebaseMessaging();
void fcmSubscribe() {
...
}
void fcmUnSubscribe() {
...
}
Future showBigPictureNotification(Map<String, dynamic> message) async {
...
var bigPictureStyleInformation = new BigPictureStyleInformation(
bigPicturePath, BitmapSource.FilePath,
contentTitle: title, summaryText: messageText);
var androidPlatformChannelSpecifics = new AndroidNotificationDetails(
'', topic, messageText,
style: AndroidNotificationStyle.BigPicture,
styleInformation: bigPictureStyleInformation);
var platformChannelSpecifics =
new NotificationDetails(androidPlatformChannelSpecifics, null);
await flutterLocalNotificationsPlugin.show(
0, title, messageText, platformChannelSpecifics);
}
@override
void initState() {
super.initState();
firebaseMessaging.configure(
onMessage: (Map<String, dynamic> message) async {
print("onMessage: $message");
currentMessage = message;
await showBigPictureNotification(currentMessage);
},
onLaunch: (Map<String, dynamic> message) async {
print("onLaunch: $message");
currentMessage = message;
await showBigPictureNotification(currentMessage);
},
onResume: (Map<String, dynamic> message) async {
print("onResume: $message");
currentMessage = message;
await showBigPictureNotification(currentMessage);
},
);
onSelectNotification(String payload) async {
await navigatorKey.currentState.push(new MaterialPageRoute(...));
}
firebaseMessaging.requestNotificationPermissions();
flutterLocalNotificationsPlugin = new FlutterLocalNotificationsPlugin();
var initializationSettingsAndroid =
new AndroidInitializationSettings('ic_stat_fiber_new');
var initializationSettings =
new InitializationSettings(initializationSettingsAndroid, null);
flutterLocalNotificationsPlugin.initialize(initializationSettings,
onSelectNotification: onSelectNotification);
}
@override
Widget build(BuildContext context) {
< widget >
}
}
flutter doctor -v
[√] Flutter (Channel stable, v1.2.1, on Microsoft Windows [Version 10.0.16299.1004], locale en-IE)
• Flutter version 1.2.1 at flutter
• Framework revision 8661d8aecd (8 weeks ago), 2019-02-14 19:19:53 -0800
• Engine revision 3757390fa4
• Dart version 2.1.2 (build 2.1.2-dev.0.0 0a7dcf17eb)
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at AppData\Local\Android\sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.0.3
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
• All Android licenses accepted.
[√] Android Studio (version 3.2)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 31.1.1
• Dart plugin version 181.5656
• Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
[√] VS Code (version 1.32.3)
• VS Code at \AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 2.24.0
[√] Connected device (1 available)
• Android SDK built for x86 • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)
• No issues found!
dependencies:
flutter:
sdk: flutter
http:
url_launcher: 4.2.0+3
flutter_image: ^1.0.0
path_provider: 0.4.1
flutter_downloader: 1.1.3
fluttertoast: ^2.2.11
pin_code_view: 0.1.0
image_picker: 0.4.12+1
firebase_core: 0.2.5+1
firebase_storage: 1.1.0+1
uuid: ^1.0.0
cupertino_icons: ^0.1.0
permission_handler: 1.0.1
transparent_image: 0.1.0
shared_preferences: 0.4.3
flutter_launcher_icons: ^0.7.0
firebase_messaging: 2.1.0
flutter_local_notifications: 0.4.5
On older versions of some dependencies due to AndroidX issue.
Working Notification when app in foreground working_notificaiton
Not working Notification when app in foreground not_working_notification