Flutter_local_notifications: PlatformException(error, Attempt to invoke virtual method 'int java.lang.Integer.intValue()' on a null object reference, null)

Created on 24 Dec 2019  Â·  3Comments  Â·  Source: MaikuB/flutter_local_notifications

When I try to show a notification this happens:

E/flutter ( 5468): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(error, Attempt to invoke virtual method 'int java.lang.Integer.intValue()' on a null object reference, null)
E/flutter ( 5468): #0      StandardMethodCodec.decodeEnvelope 
package:flutter/…/services/message_codecs.dart:569
E/flutter ( 5468): #1      MethodChannel.invokeMethod 
package:flutter/…/services/platform_channel.dart:321
E/flutter ( 5468): <asynchronous suspension>
E/flutter ( 5468): #2      FlutterLocalNotificationsPlugin.show 
package:flutter_local_notifications/src/flutter_local_notifications.dart:120
E/flutter ( 5468): #3      _HomePageState.build.<anonymous closure> 
package:registro_elettronico/…/home/home_page.dart:180
E/flutter ( 5468): #4      _InkResponseState._handleTap 
package:flutter/…/material/ink_well.dart:706
E/flutter ( 5468): #5      _InkResponseState.build.<anonymous closure> 
package:flutter/…/material/ink_well.dart:789
E/flutter ( 5468): #6      GestureRecognizer.invokeCallback 
package:flutter/…/gestures/recognizer.dart:182
E/flutter ( 5468): #7      TapGestureRecognizer.handleTapUp 
package:flutter/…/gestures/tap.dart:486
E/flutter ( 5468): #8      BaseTapGestureRecognizer._checkUp 
package:flutter/…/gestures/tap.dart:264
E/flutter ( 5468): #9      BaseTapGestureRecognizer.acceptGesture 
package:flutter/…/gestures/tap.dart:236
E/flutter ( 5468): #10     GestureArenaManager.sweep 
package:flutter/…/gestures/arena.dart:156
E/flutter ( 5468): #11     GestureBinding.handleEvent 
package:flutter/…/gestures/binding.dart:222
E/flutter ( 5468): #12     GestureBinding.dispatchEvent 
package:flutter/…/gestures/binding.dart:198
E/flutter ( 5468): #13     GestureBinding._handlePointerEvent 
package:flutter/…/gestures/binding.dart:156
E/flutter ( 5468): #14     GestureBinding._flushPointerEventQueue 
package:flutter/…/gestures/binding.dart:102
E/flutter ( 5468): #15     GestureBinding._handlePointerDataPacket 
package:flutter/…/gestures/binding.dart:86
E/flutter ( 5468): #16     _rootRunUnary  (dart:async/zone.dart:1138:13)
E/flutter ( 5468): #17     _CustomZone.runUnary  (dart:async/zone.dart:1031:19)
E/flutter ( 5468): #18     _CustomZone.runUnaryGuarded  (dart:async/zone.dart:933:7)

Code:

onPressed: () {
FlutterLocalNotificationsPlugin notifications =
    FlutterLocalNotificationsPlugin();
var androidPlatformChannelSpecifics =
    AndroidNotificationDetails(
        'new-notification',
        'Notification',
        'Notification test.');
var iOSPlatformChannelSpecifics =
    IOSNotificationDetails();
var platformChannelSpecifics =
    NotificationDetails(
        androidPlatformChannelSpecifics,
        iOSPlatformChannelSpecifics);
notifications.show(
  1,
  'Title',
  'Description',
  platformChannelSpecifics,
);
}

Flutter doctor:

[√] Flutter (Channel stable, v1.12.13+hotfix.5, on Microsoft Windows [Version 10.0.18362.476], locale en-GB)
• Flutter version 1.12.13+hotfix.5 at C:\Users\Riccardo\Documents\dev-tools\flutter
• Framework revision 27321ebbad (13 days ago), 2019-12-10 18:15:01 -0800
• Engine revision 2994f7e1e6
• Dart version 2.7.0  

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)                                            
• Android SDK at C:\Users\Riccardo\AppData\Local\Android\sdk                                                            
• Android NDK location not configured (optional; useful for native profiling support)                                   
• Platform android-29, build-tools 29.0.2                                                                               
• Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java                                                  
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)                                           
• All Android licenses accepted.                                                                                                                                                                                                           

[√] Android Studio (version 3.5)
• Android Studio at C:\Program Files\Android\Android Studio
• Flutter plugin version 41.1.2
• Dart plugin version 191.8593
• Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b03)

[√] VS Code (version 1.41.1)
• VS Code at C:\Users\Riccardo\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.7.1                   

Most helpful comment

for anyone who gets the error, you probably should type
var initializationSettingsAndroid = AndroidInitializationSettings('mipmap/ic_launcher'); instead of
var initializationSettingsAndroid = AndroidInitializationSettings('app_icon'); from example main.dart line 46

var initializationSettingsAndroid = AndroidInitializationSettings('app_icon');
  var initializationSettingsIOS = IOSInitializationSettings(
      onDidReceiveLocalNotification:
          (int id, String title, String body, String payload) async {
    didReceiveLocalNotificationSubject.add(ReceivedNotification(
        id: id, title: title, body: body, payload: payload));
  });

All 3 comments

Make sure to setup your notification drawable and specify it as part of initialisation or on a per notification basis. These are mentioned in the readme and there's an example app that can be referred to in this repo as well

for anyone who gets the error, you probably should type
var initializationSettingsAndroid = AndroidInitializationSettings('mipmap/ic_launcher'); instead of
var initializationSettingsAndroid = AndroidInitializationSettings('app_icon'); from example main.dart line 46

var initializationSettingsAndroid = AndroidInitializationSettings('app_icon');
  var initializationSettingsIOS = IOSInitializationSettings(
      onDidReceiveLocalNotification:
          (int id, String title, String body, String payload) async {
    didReceiveLocalNotificationSubject.add(ReceivedNotification(
        id: id, title: title, body: body, payload: payload));
  });

For me it was simply passing no AndroidNotificationDetails argument to NotificationDetails.

Was this page helpful?
0 / 5 - 0 ratings