Android 绑定后,可编程逻辑断开连接

Android 绑定后,可编程逻辑断开连接,android,bluetooth-lowenergy,Android,Bluetooth Lowenergy,我正在开发两个Android的BLE应用程序。一个应用程序将充当外围角色,另一个应用程序将充当中心角色。在外围应用程序上,有一个加密特征,具有属性\u WRITE和权限\u WRITE\u encrypted 中央应用程序能够连接到外围设备并发现其服务。当central第一次尝试写入加密特征时,系统开始粘合过程,出现输入PIN的对话框。正确输入PIN后,可以成功写入特征。如果中央处理器与外围设备断开连接,然后尝试重新连接,则会短暂建立连接,但随后断开连接。在状态为的外围设备上接收到onConne

我正在开发两个Android的BLE应用程序。一个应用程序将充当外围角色,另一个应用程序将充当中心角色。在外围应用程序上,有一个加密特征,具有
属性\u WRITE
权限\u WRITE\u encrypted

中央应用程序能够连接到外围设备并发现其服务。当central第一次尝试写入加密特征时,系统开始粘合过程,出现输入PIN的对话框。正确输入PIN后,可以成功写入特征。如果中央处理器与外围设备断开连接,然后尝试重新连接,则会短暂建立连接,但随后断开连接。在状态为的外围设备上接收到
onConnectionStateChange
回调,然后立即再次调用状态为
STATE\u DISCONNECTED

除非我手动断开设备的连接(从蓝牙设置),然后再次启动连接过程,否则中央设备将无法连接到外围设备

我尝试过这个解决方案,但对我不起作用。


这两个应用程序都在安卓5设备上运行。

安卓5.1.1似乎解决了这个问题。最初,我是在三星Galaxy Tab a和安卓5.0.2上运行外围应用程序的。我切换到运行5.1.1和6.0.1的Nexus 9,但没有遇到上述问题。

这个问题仍然存在于我的5.1.1设备中,但为了您的回答,我在android 8.0上测试了我的应用程序,而不是在8.0中。因此,请设置min sdk以避免此问题。