【发布时间】:2018-04-19 20:11:36
【问题描述】:
在 Android L 之前,Android Altbeacon 库使用后台运行服务来扫描 BLE 信标。默认扫描时间是前台循环 1.1 秒,后台每 5 分钟扫描 10 秒。对于后台任务,警报管理器也用于唤醒应用程序。
鉴于不允许长时间运行的后台服务,我正在研究 Android Oreo 中的类似设置如何工作。我正在经历 http://www.davidgyoungtech.com/2017/08/07/beacon-detection-with-android-8 它确实清除了一些东西,但我仍然不完全清楚扫描如何与蓝牙扫描 API 和作业调度程序结合使用。
那么,如何结合使用基于作业调度程序的定期调度来监控和确定信标范围?如果有人能提供一个很好的例子。
更具体一点-
- 我们什么时候会进行被动新信标检测而不是正常背景扫描?
- 为什么被动扫描仅适用于新检测?为什么我们不能循环运行它?为什么它只在作业调度程序扫描之间运行?
- 假设我设置了 10 秒的扫描周期和 2 分钟的扫描间隔。以什么间隔使用什么技术来扫描信标?
- 如果作业调度程序可以安排频率超过 15 分钟的作业并且它可以运行最多 10 分钟的时间,我们可以将扫描间隔设置为 10 分钟,将扫描间隔设置为 5 分钟吗?由于操作系统限制,我们只会损失 5 分钟的扫描时间吗?另外,我们可以在这 5 分钟内进行被动扫描吗?所以我们没有不扫描信标的时间跨度?
【问题讨论】:
标签: android bluetooth-lowenergy altbeacon android-8.0-oreo