flutter - 当应用程序不在后台运行时,如何在 Flutter 应用程序中使用 Pusher 接收通知
问题描述
我正在使用 pusher 包(pusher_websocket_flutter: ^0.2.0 )发送通知。当应用程序打开或置于后台时,它的效果很好。它按预期工作。我面临的一个问题是,当应用程序不在后台或从后台清除应用程序时,我无法接收通知。任何可能的解决方案?
这是我到目前为止所做的代码。//连接推送器的方法
Future<void> firePusher(String channelName,String videoCallChannel,
String eventName,String videoCallEvent) async {
await initPusher();
connectPusher();
// await subscribePusher(videoCallChannel);
await subscribePusher(channelName);
bindEvent(eventName,'chanelName');
}
在绑定方法中,我有以下代码显示邮件到达时的通知......
channel.bind(eventName,(last){
final String data = last.data;
var initializationSettingsAndroid =
AndroidInitializationSettings('@mipmap/ic_launcher');
var initializationSettingsIOS = IOSInitializationSettings();
var initializationSettings = InitializationSettings(
initializationSettingsAndroid, initializationSettingsIOS);
flutterLocalNotificationsPlugin.initialize(initializationSettings,
onSelectNotification: onSelectNotification);
print("Data from Mail : $data");
_inEventData.add(data);
_showNotification();
});
如果我想在通知到来并且我的应用程序没有在后台运行时实现,我该怎么办?
解决方案
搜索如何将此推送程序包作为后台服务运行。
推荐阅读
- rust - 引用如何逃脱闭包?`packet` 在这里逃脱了闭包体
- c - 代码块编译器不显示输出
- android-studio - 为什么我在 Android Studio 中的 Activity 在代码中的文本颜色与其他的不同?
- model - 有完全可逆的概率预测器吗?
- android - 如何在单个 textView 中定期显示我们的 JSON 数据?
- python - 将列名过滤为熊猫中的变量
- pandas - 将字符串转换为列
- java - 在文件的每一行中查找有效模式
- laravel - 如何在不添加后缀.min.js的情况下缩小laravel mix中的JS?
- ruby-on-rails - Errno::EPIPE:http post multipart ruby 中的管道损坏