Firebase 消息传递没有默认构造函数

问题描述 投票:0回答:4
import 'package:flutter/material.dart';
import 'package:firebase_messaging/firebase_messaging.dart';

import 'package:google_maps_flutter/google_maps_flutter.dart';    

class PushNotificationService
{
  final FirebaseMessaging firebaseMessaging = FirebaseMessaging();

  Future initialize(context) async
   {
    firebaseMessaging.configure(
      onMessage: (Map<String, dynamic> message) async {
        retrieveRideRequestInfo(getRideRequestId(message), context);
       },
       onLaunch: (Map<String, dynamic> message) async {
         retrieveRideRequestInfo(getRideRequestId(message), context);
       },
       onResume: (Map<String, dynamic> message) async {
        retrieveRideRequestInfo(getRideRequestId(message), context);
      },
     );
    }

清单:

    <intent-filter>
        <action android:name="FLUTTER_NOTIFICATION_CLICK" />
        <category android:name="android.intent.category.DEFAULT" 
        />
    </intent-filter>

错误:“FirebaseMessaging”类没有默认构造函数。 尝试使用“FirebaseMessaging”中定义的命名构造函数之一。

flutter firebase-cloud-messaging
4个回答
72
投票

尝试使用

FirebaseMessaging.instance
而不是
FirebaseMessaging()
,它应该有效。


2
投票

尝试添加依赖项 firebase_core 1.4.0

导入'包:firebase_core/firebase_core.dart';

    @override
      void initState() {
        // TODO: implement initState
        super.initState();
        Firebase.initializeApp();
      }
     
      onPressed: () async {
           String token = await FirebaseMessaging.instance.getToken();
           print(token);
                    
        },

0
投票

使用

FirebaseStorage.instanceFor
代替默认构造函数


-4
投票

使用 FirebaseStorage.instanceFor 而不是默认构造函数

© www.soinside.com 2019 - 2024. All rights reserved.