简体   繁体   中英

Flutter Firebase unable to understand stack trace

I am unable to understand this stack trace and why it arising. From what I can understand it is something to do with firebase messaging.

E/AndroidRuntime(26033): java.lang.AssertionError
E/AndroidRuntime(26033):    at io.flutter.plugins.firebase.messaging.FlutterFirebasePermissionManager.onRequestPermissionsResult(FlutterFirebasePermissionManager.java:33)
E/AndroidRuntime(26033):    at io.flutter.embedding.engine.FlutterEngineConnectionRegistry$FlutterEngineActivityPluginBinding.onRequestPermissionsResult(FlutterEngineConnectionRegistry.java:777)
E/AndroidRuntime(26033):    at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.onRequestPermissionsResult(FlutterEngineConnectionRegistry.java:409)
E/AndroidRuntime(26033):    at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onRequestPermissionsResult(FlutterActivityAndFragmentDelegate.java:752)
E/AndroidRuntime(26033):    at io.flutter.embedding.android.FlutterActivity.onRequestPermissionsResult(FlutterActivity.java:748)
E/AndroidRuntime(26033):    at android.app.Activity.dispatchRequestPermissionsResult(Activity.java:8421)
E/AndroidRuntime(26033):    at android.app.Activity.dispatchActivityResult(Activity.java:8266)
E/AndroidRuntime(26033):    at android.app.ActivityThread.deliverResults(ActivityThread.java:4931)
E/AndroidRuntime(26033):    at android.app.ActivityThread.handleSendResult(ActivityThread.java:4979)
E/AndroidRuntime(26033):    at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
E/AndroidRuntime(26033):    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
E/AndroidRuntime(26033):    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
E/AndroidRuntime(26033):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2044)
E/AndroidRuntime(26033):    at android.os.Handler.dispatchMessage(Handler.java:107)
E/AndroidRuntime(26033):    at android.os.Looper.loop(Looper.java:223)
E/AndroidRuntime(26033):    at android.app.ActivityThread.main(ActivityThread.java:7562)
E/AndroidRuntime(26033):    at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(26033):    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:539)
E/AndroidRuntime(26033):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)
I/Process (26033): Sending signal. PID: 26033 SIG: 9
Lost connection to device.

But as per documentation, my pre configuration for handling permission for both firebase and notification are correct.

This is what my main looks like,

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp(
    options: DefaultFirebaseOptions.currentPlatform,
  );

  FirebaseMessaging messaging = FirebaseMessaging.instance;

  NotificationSettings settings = await messaging.requestPermission(
    alert: true,
    announcement: false,
    badge: true,
    carPlay: false,
    criticalAlert: false,
    provisional: false,
    sound: true,
  );

  print('User granted permission: ${settings.authorizationStatus}');


  FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler);

  await FirebaseMessaging.instance.setForegroundNotificationPresentationOptions(
      alert: true, badge: true, sound: true);

  DatabaseBinding().dependencies();

  runApp(MyApp());
}

Future<void> _firebaseMessagingBackgroundHandler(RemoteMessage message) async {
  await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
}

And below I am handling permissions in during my policy screen,

Map<Permission, PermissionStatus> statuses = await [
      Permission.storage,
      Permission.notification,
      Permission.camera
    ].request();

    if (!statuses.containsValue(PermissionStatus.denied)) {
      showGeneralDialog(
          context: context,
          useRootNavigator: false,......so_on

Please let me know, what exactly the stack trace says and if I am missing something please do explain.

The issue seems like coming from update 13.0.0 - Inbuilt notification permission handling function

FlutterFire issue#9430

Please follow above link for further details

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM