我试图在后台,前台和应用程序的终止状态下接收Firebase通知时显示Flutter本地通知。我试图使用工作管理器包解决此问题,它在Android中工作得很好。它在前台,后台和终止状态下也可以工作但是它在iOS设备中不工作。如果我试图执行任务,这是没有注册的信息plist和appDelegate它给我一个错误,但注册后,它没有做任何事情(没有错误,也没有执行我的代码).我想我的任务是注册,但iOS没有执行它在某种原因.如果有人做了类似的事情,请提供一些例子,或者也许我做错了什么一些想法?
尝试使用工作管理器和 Flutter 本地通知解决问题
2条答案
按热度按时间xcitsw881#
我为这个问题挣扎了好几个星期,直到我设法让通知出现在我的ios应用程序上,而不管它的状态如何。
首先,您必须在Xcode中勾选“后台获取”和“后台处理”模式。这些可以在签名和功能下找到。
接下来,您必须在AppDelegate. swift中注册任务并给予应用通知功能。
您还需要在info.plist中注册您的任务,如下所示:
registerPeriodicTask不适用于ios,所以应该使用flutter_local_notifications的periodicallyShow函数。
作为参考,我提供了我的代码片段,它显示了我如何使用workmanager和flutter_local_notifications;
请记住,ios设备可以出于多种原因(例如电池电量不足)决定推迟运行后台工作管理器任务,而且,使用ios模拟器不会显示通知。
8xiog9wr2#
你可以通过使用
flutter_local_notification
做到这一点,如果你是开放的.它是更简单和紧凑.预先申请:
1.安装以下软件包:
1.后台和终止状态的通知由flutter应用程序处理,默认通知服务
1.应该创建前台通知,这里我们使用
flutter_local_notification
创建监听fcm流。完整代码:
notification_helper.dart
//类显式处理前台通知