我开发了IONIC 2的应用程序。我要求当我的BLE设备在范围内自动连接到它。案例是我的应用程序是在后台还是在前台我想自动连接我的BLE设备,如果断开连接,则连续搜索到我的设备并在范围内重新连接。有没有办法做到这一点?我已经提到过:https://github.com/don/cordova-plugin-ble-central
。我也提出了关于检测BLE连接的问题:How to register for BLE state notification in IONIC 2。但没有解决方案与此相关。但我没有找到任何东西。请建议任何方式来做到这一点。我想要解决方案,它应该适用于ios和android。
答案 0 :(得分:1)
在Android中,使用以下属性设置长时间连接的正确方法:
其中autoConnect参数设置为true。如果设置为false,则超时为30秒,当设备断开连接时也不会自动重新连接。
你提到的那个cordova插件不幸地将autoConnect硬编码为false。因此,您可以更改插件,以便将autoConnect设置为true,或者您可以设置扫描永久扫描并连接到您出现时感兴趣的设备。但该cordova插件使用最大扫描间隔(意味着它在100%的时间内扫描),其中通常设置为平均扫描5-10%的时间,以便不占用Wi-Fi带宽,但也节省电池。 ..我所说的是,似乎没有创建cordova插件用于长时间运行背景连接的目的,可能需要一些时间才能连接。
为了确保您的应用程序不会在后台被杀,您需要在连接到BLE设备的同一进程中运行“Foreground Service”(https://developer.android.com/guide/components/services.html#Foreground)。
答案 1 :(得分:0)