iOS端edgeEngine后台模式支持控制 接收BLE消息唤醒可行性问询
iOS后台BLE消息唤醒edgeEngine可行性说明
核心结论
可以实现,只要满足iOS系统权限要求和edgeEngine的基础配置即可。
必要前置条件
- 首先要给iOS应用配置
bluetooth-central后台模式权限,开启后应用退后台后依然可以接收BLE设备的通知、读写响应事件,系统会在收到事件时给应用分配至少30秒的活跃运行窗口。 - 确保edgeEngine只是处于暂停状态、进程未被系统销毁:如果是你自己在应用退后台时主动暂停edgeEngine,预留好恢复启动的入口即可。
具体实现逻辑
- 在BLE外设消息的接收回调方法中,主动调用edgeEngine的恢复启动接口,已暂停的edgeEngine恢复启动耗时通常在毫秒级,完全可以在系统分配的后台窗口内完成启动。
- edgeEngine恢复完成后直接触发对应微服务的调用即可。
边界情况处理
- 如果微服务调用逻辑耗时超过30秒,可以调用iOS的
UIBackgroundTaskIdentifier相关接口申请延长后台运行时间,最多可申请到3分钟的运行时长,覆盖绝大多数边缘服务调用场景。 - 如果应用退后台时间过长、进程被系统主动回收,BLE消息收到时会先唤醒整个应用进程,你可以在应用的启动流程中优先初始化edgeEngine,再处理接收到的BLE消息即可。
内容的提问来源于stack exchange,提问作者iamraymondchen
相关产品推荐
相关产品推荐

