[英]How to auto connect BLE device when in range?
我正在为IONIC 2开发应用程序。我要求在BLE设备处于有效范围内时自动与其连接。 这种情况是我的应用程序是在后台还是在前景中,我想自动连接我的BLE设备,并且如果断开连接,则继续搜索我的设备并在范围内重新连接它。 有没有办法做到这一点? 我已经提到了这个: https://github.com/don/cordova-plugin-ble-central
: https://github.com/don/cordova-plugin-ble-central
。 我也提出了有关BLE连接检测的问题: 如何在IONIC 2中注册BLE状态通知 。 但是没有解决方案与此相关。 但是我什么也没找到。 请提出任何可行的方法。 我希望solutionw hich可以在ios和android上使用。
在Android中,使用以下属性设置长期运行连接的正确方法:
其中autoConnect参数设置为true。 如果将其设置为false,它将具有30秒的超时时间,并且在断开设备连接时也不会自动重新连接。
遗憾的是,您引用的那个cordova插件会将autoConnect硬编码为false。 因此,您可以更改插件,以便将autoConnect设置为true,也可以在永远扫描的地方设置扫描,并在出现时连接到您感兴趣的设备。 但是那个cordova插件使用了最长的扫描间隔(意味着它扫描了100%的时间),通常通常设置为平均扫描5-10%的时间,以便不占用Wi-Fi带宽,还可以节省电池。 ..我的意思是,cordova插件似乎并不是为长期运行的后台连接而创建的,而该连接可能会花费一些时间。
为了确保您的应用不会在后台被杀死,您需要在同一进程中的某个位置运行“前台服务”( https://developer.android.com/guide/components/services.html#Foreground )连接到BLE设备。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.