好吧,我想通过BLE连接到OBD2加密狗,该加密狗会根据汽车状态打开/关闭。按照现在的计划,Android设备本身将一直运行。
AFAIK我有两个重新连接的选项:
a)将connectGatt'autoconnect'参数设置为'true'
b)定期扫描设备,直到出现“我的” MAC,然后连接到该设备
我的问题:
'autoconnect'的可靠性如何?
此外
哪个版本的Android足以完成此任务?我读过一开始BLE实施并不可靠;)
回答您的问题:
“自动连接”的可靠性如何?
自动连接是可靠的,如果您知道如何使用它。为了使其能够像程序员一样工作,需要付出相当大的努力。它适用于当今大多数Android。通常,您应该使用
Android 7及更高版本使其正常运行。有人可能会认为Android 6足够。我不这么认为。有一个已知的race condition with a workaround(来自Polidea伙计),但您永远不知道该补丁是否具有是否已应用(如果您自己未编程)。
Autoconnect仅适用于cached
或bonded设备!否则没有机会。现在通常可以使用。为什么人们会觉得辛苦甚至不起作用?如果要使用/编程,则需要克服一些障碍。是否有更好的方法(例如,在存在新的BLE devce时进行系统广播等,以减少扫描并立即打开设备,或至少至少开始扫描?
您有两个选择:
false
的情况下进行连接。比自动连接更快。true
-它花费的时间比1。长,因为Android使用低能耗设置进行扫描。自动连接所需的连接时间因供应商而异。基于使用的低能耗设置(和实现)
false
时,您可以同时发出一个连接。使用的材料:主要来自Martijn van Welie Making Android BLE work — part 1和Making Android BLE work — part 2的博客(我建议阅读那些内容以获取编程详细信息!)>
扫描参数