Veg*_*und 47 android bluetooth-lowenergy
背景:
理想情况下,我希望我的Android设备能够一直扫描蓝牙低功耗设备,以便在出现具有特定属性的新设备时启动应用程序.
因此,BLE中的广播分组将例如枚举由广播设备提供的一组服务.然后,应用程序可以注册某些服务的兴趣,并在具有此服务的设备进入范围时自动启动.
根据我的理解,这不是Android BLE API的工作原理吗?那我怎么能得到类似的东西呢?
最简单的例子:
我有一个BLE传感器可以记录环境温度.每当我的Android手机足够接近时,我想连接并下载所有数据,并将其发送到某些云存储解决方案.这个应用程序不需要任何GUI(至少在配置完成后不需要).但是如何在没有耗尽电池的情况下在后台运行,但是一旦它在范围内,我仍然可以很快地连接设备?
问题:
我是否需要设置计时器并偶尔唤醒应用程序,然后手动开始扫描?我应该选择什么样的间隔.我可以在不对电池产生不利影响的情况下让扫描仪运行多长时间?
可能的方法:
这是我到目前为止所提出的.
这有效,但我不确定这是最好的方法.我也不知道我可以有多小间隔,仍然可以避免破坏电池寿命.我想要的是每两分钟开始扫描一次,扫描10-20秒.但我担心唤醒设备的频率会相当高吗?
dav*_*ung 22
此功能已全部移至开源Android Beacon Library,该库将:
当检测到匹配所需模式的iBeacons时,唤醒/启动您的应用
即使用户尚未启动您的应用,也会在后台执行信标扫描
在后台自动将扫描速率降低到每五分钟30秒,以节省电池电量.(时间可配置.)
代码示例在此处显示
如果您的BLE设备不是信标,您仍然可以使用此库来实现此功能,方法是让传感器也作为信标进行传输,然后检测到连接到主服务.
| 归档时间: |
|
| 查看次数: |
29556 次 |
| 最近记录: |