【问题标题】:Bluetooth Low Energy scan result delivery is reduced when the screen is OFF屏幕关闭时,蓝牙低功耗扫描结果传输会减少
【发布时间】:2017-01-06 09:03:49
【问题描述】:

我正在开发一个使用蓝牙低功耗从外围设备接收数据的 android 应用程序。 设备本身将数据作为其广告信息的一部分发送,并且可以随时发送信息。 因此,应用程序通过持续扫描 BLE 设备来工作。 当屏幕打开时,应用程序会按预期接收扫描结果。 当屏幕关闭时,它似乎只每 5 秒接收一次扫描结果。 我猜手机正在尝试优化电池寿命,但这个应用程序是关键任务,所以我们不能丢失消息。

扫描由设置为“前台服务”的服务完成,以便操作系统知道它很重要。 该服务还获得了PowerManager.PARTIAL_WAKE_LOCK,但这似乎没有帮助。 该应用程序被排除在电池优化之外,因此它不会进入打盹或深度睡眠模式。 该应用程序正在使用以下 ScanSettings:

ScanSettings.SCAN_MODE_LOW_LATENCY
ScanSettings.CALLBACK_TYPE_ALL_MATCHES
ScanSettings.MATCH_MODE_AGGRESSIVE
ScanSettings.MATCH_NUM_MAX_ADVERTISEMENT

我正在使用 Galaxy S7,但有人告诉我,Galaxy S7 Edge 也会发生同样的行为。 我已经用其他非三星设备进行了测试,它们按预期工作(屏幕关闭时持续接收扫描结果)。

问题:作为开发人员,有没有什么办法可以让 BT 适配器即使在屏幕关闭时也能持续提供扫描结果?

【问题讨论】:

    标签: android bluetooth-lowenergy samsung-mobile


    【解决方案1】:

    如果屏幕关闭,三星会自动将扫描模式更改为低功耗。这是他们在 Android 操作系统上的自定义设置,所以很遗憾无法更改它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-11
      • 1970-01-01
      • 2016-03-15
      • 1970-01-01
      • 1970-01-01
      • 2014-04-23
      相关资源
      最近更新 更多