【问题标题】:i want to push notification when i recieve a message from mqtt broker当我收到来自 mqtt 代理的消息时,我想推送通知
【发布时间】:2022-10-08 19:57:16
【问题描述】:

我正在开发颤振应用程序(当树莓派检测到移动时通知用户)。一切正常。

  1. 将flutter应用连接到mqtt代理
  2. 订阅主题
  3. 从 mqtt 代理获取消息,我可以在控制台日志中看到它们

    我的问题是我想在收到来自 MQTT 代理的消息时推送通知。我尝试了“flutter_local_notification”,但我能找到的只是使用触发按钮的教程。

    void _subscribeToTopic(String topicName) {
        print('Subscribing to the $topicName topic');
        client.subscribe(topicName, MqttQos.atMostOnce);
    
        // print the message when it is received
        client.updates?.listen((List<MqttReceivedMessage<MqttMessage>>? c) {
          final recMess = c![0].payload as MqttPublishMessage;
          final message =
              MqttPublishPayload.bytesToStringAsString(recMess.payload.message);
          print('YOU GOT A NEW MESSAGE:');
          // i want to push notifation
          print(message);
        });
    }
    

【问题讨论】:

  • 你尝试过什么,它是如何不起作用的?
  • 我尝试使用flutter_local_notification,但我无法使其工作,因为所有教程都使用按钮来推送通知(你需要按下按钮来推送通知)
  • Edit 这个问题显示您尝试了什么以及它是如何失败的,然后有人可能会帮助您修复它。
  • 我更新了我的问题希望我能得到一个解决方案

标签: android flutter dart push-notification mqtt


【解决方案1】:

我找到了一个解决方案,我使用“fluter_local_notification”创建了一个通知服务,然后当我从 mqtt 代理收到消息时调用了 shownotification 函数。

void _subscribeToTopic(String topicName) {
print('Subscribing to the $topicName topic');

client.subscribe(topicName, MqttQos.atMostOnce);

// print the message when it is received
client.updates?.listen((List<MqttReceivedMessage<MqttMessage>>? c) {
  final recMess = c![0].payload as MqttPublishMessage;
  final message =
      MqttPublishPayload.bytesToStringAsString(recMess.payload.message);
  print('YOU GOT A NEW MESSAGE:');
  // i want to push notifation
  NotificationService()
      .showNotification(1, 'check your mailbox', 'you have new mail', 1);
  print(message);
});

}

【讨论】:

    【解决方案2】:

    你能上传申请并分享链接吗 我在大学的最后一个项目需要这个

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 1970-01-01
      • 1970-01-01
      • 2018-06-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多