通过蓝牙连接2个应用程序并传输数据flutter

Sid*_*wal 12 bluetooth flutter

所以我正在制作一个应用程序,我需要将数据从一个应用程序传输到另一个应用程序(最好使用蓝牙)。我研究过蓝牙插件,但我似乎无法理解如何在两个设备之间建立连接并传输一些字符串。有人可以帮忙吗?我更喜欢通过蓝牙的解决方案,但如果没有,请建议
我需要在 android 7 API 24 上开发的其他内容

我做了一些研究,看起来https://pub.dev/packages/flutter_bluetooth_serial包很适合这个。但我无法让测试应用程序中的聊天系统正常工作。有人可以帮我解决这个问题吗?

FDu*_*hen 1

第一个想法

这取决于您想要提供的数据/体验类型,但在不同设备中的应用程序之间共享数据的最简单的解决方案是使用二维码。
您的设备 A 生成一个二维码。
设备 B 扫描设备 A 的二维码并检索数据。

优点:

  • 易于实施
  • 在飞行模式下工作
  • 每部手机都有摄像头
  • 不影响电池

缺点:

  • 需要用户的操作
  • 如果您要在手机之间传输非常大的文件,则无法使用

第二个想法

如果您需要在两部手机之间静默传输数据,并且上传/下载可能需要一些时间,您可以按照您的想法使用蓝牙,这个库应该适合您的需求。
https://pub.dev/packages/nearby_connections

流程如下:

  1. 配对设备
  2. 建立连接
  3. 将数据上传到目标设备的内存(SD卡或手机内存)=>数据将写入文件
  4. 在目标设备上,监听特定文件夹的变化,并检索写入特定文件的数据

优点:

  • 目标设备无需执行任何操作
  • 沉默的
  • 可以处理大文件

缺点:

  • 仅适用于 Android 手机
  • 更难开发/维护

第三个想法

如果您可以使用互联网,则可以依赖 Firebase 实时数据库。

优点:

  • 无需靠近目标设备
  • 快速、易于实施和扩展

缺点:

  • 需要互联网
  • 只能共享“字符串”数据或轻编码媒体文件

如果我能想到另一个解决方案,我会更新我的答案