android 无法使用Flutter在后台运行Wifi和蓝牙扫描

ibrsph3r  于 2022-11-27  发布在  Android
关注(0)|答案(2)|浏览(316)

我正在进行室内定位项目的一部分。我需要Flutter应用程序扫描并获取Wifi和蓝牙设备的Mac地址和RSSI值。我使用flutter_blue进行蓝牙扫描,使用wifi_scan进行Wifi扫描。应用程序在前台运行良好,但在后台运行时扫描失败。
到目前为止,我已经尝试过:

  • 已尝试将蓝牙扫描模式从ScanMode.lowLatency更改为ScanMode.lowPowerScanMode.opportunistic,以使用flutter_bluestartScan()方法.
  • flutter_background .我设法在后台做了一些任务,但是WiFi和蓝牙不起作用。
  • 同样的情况
  • 同样的情况
  • 同样的情况
  • workmanager没有尝试它,因为它说它可以每15分钟触发一次BG操作,但我每6秒扫描一次。

“有没有办法做到这一点?有没有选项为backgroundMode: true的软件包?我不认识土著,也不认识Kotlin。”

xdnvmnnf

xdnvmnnf1#

根据Android Developer文档,ScanMode.lowPower是后台扫描的唯一可能模式。您还需要请求后台的位置访问(文档herehere)。
考虑改用Flutter Blue Plus而不是Flutter Blue; Flutter Blue Plus是当前维护的版本。GitHub上的This pull request显示Flutter Blue无法在后台运行。拉取请求从未被合并。

ej83mcc0

ej83mcc02#

在尝试了很多东西之后,我只是试着也获得GPS定位。
使用此套件:location
并按照自述文件中的说明执行location.enableBackgroundMode(enable: true),然后我的WiFi和蓝牙扫描也开始在后台工作。
这是可笑的

相关问题