Flutter如何访问FCM backgroundHandler静态方法中的provider.of(context)?

AhW*_*gih 6 dart flutter flutter-provider

我已经成功设置了后台通知并使用邮递员对其进行了测试,一切都很好。

现在我需要在我的backgroundHandler 中访问Provider.of(context),它必须是没有上下文的静态方法。

我需要做的就是根据后台通知中的数据执行操作。

这是我初始化 FCM 的代码(我在启动屏幕中执行此操作)

Future<void> initFcm() async {

_firebaseMessaging.configure(
  onBackgroundMessage: myBackgroundMessageHandler,
  onMessage: (msg) async {
    print('this is ONMESSAGE $msg');
  },
  onLaunch: (msg) async {
    print('ON LAUNCH');
  },
  onResume: (msg) async {
    print('ON RESUME');
  },
);

// For testing purposes print the Firebase Messaging token
 deviceToken = await _firebaseMessaging.getToken();
 print("FirebaseMessaging token: $deviceToken");
}


static Future<dynamic> myBackgroundMessageHandler(
  Map<String, dynamic> message) async {
print(message);

if (message.containsKey('data')) {
  // Handle data message
  final dynamic data = message['data'];
   final orderId = data['order_id'];

   //THE PROBLEM IS THAT HERE I DON'T HAVE CONTEXT (coz static method)
   Provider.of<Orders>(context, listen: false).setBackgroundStatus(orderId);
      
}

if (message.containsKey('notification')) {
  // Handle notification message
  final dynamic notification = message['notification'];
}

// Or do other work.
}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在 backhandHandler 中处理提供程序中的任务,它是一个没有上下文的静态方法?