flutter 是否有一种方法可以在收到FCM消息时运行代码,即使应用程序被杀死?

gab6jxml  于 2023-08-07  发布在  Flutter
关注(0)|答案(2)|浏览(162)

我正在尝试用Flutter构建一个跨平台的应用程序(目前只在Android上工作),当操作正在进行时通知用户(志愿消防员),他们可以发送反馈,如果他们将参与。我用FCM通知和数据负载完成了这一点。现在我正在尝试实现一个函数,它不会显示通知并告诉服务器,他们没有时间。我正在使用flutter_local_notifications进行通知。当我在应用程序中或有应用程序最小化时,它的工作完美。但是当在应用程序抽屉中向上滑动时“杀死”应用程序时,我不再会得到通知。
我期待它显示,因为它是一个只有数据的消息(没有提供通知字段)。该函数应该在客户端实现,因此它不应该向服务器发送停止发送通知的请求。是否有任何方法可以在FirebaseMessaging.onBackgroundNotification(函数)中运行一段单独的代码,或者可以防止用户终止应用程序?有什么后台服务我可以实现吗?我找了几个小时,但没有结果。我希望有一个解决方案,在两个平台(iOS,Android)上都能工作

kmb7vmvb

kmb7vmvb1#

当应用程序终止时,您可以通过onBackgroundMessage处理程序处理后台消息。当您的应用程序处于后台或终止时,仅数据消息被设备视为低优先级,并将被忽略。但是,您可以通过发送FCM负载上的附加属性来显式地增加优先级。
https://firebase.flutter.dev/docs/messaging/usage

ecr0jaav

ecr0jaav2#

我发现我是个笨蛋。我通过禁用电池优化并将POST_NOTIFICATIONS权限添加到我的清单来解决它。如果我浪费了任何人的时间,我很抱歉,我一定是在文档中读了一遍。

相关问题