蓝牙LE连接是否在Android上经过身份验证?

蓝牙LE连接是否在Android上经过身份验证?,android,bluetooth-lowenergy,bluetooth-gatt,cc-mode,Android,Bluetooth Lowenergy,Bluetooth Gatt,Cc Mode,我遇到一个问题,如果我的Android 8手机启用了通用标准模式,我将无法与蓝牙LE设备通信。禁用公共标准模式时,一切正常 然而,当我使用我的Android 6手机启用通用标准模式时,我没有问题 我遇到过这样的情况,即公共标准模式“阻止未经身份验证的蓝牙连接” 所以我认为蓝牙LE连接没有经过认证,在三星和诺克斯解决问题之前,BLE永远不会使用通用标准模式 我在3个不同的应用程序上尝试了3个不同的BLE设备,行为总是一样的,这些设备在公共标准模式关闭时工作得很好,但在公共标准模式打开时它们不工作

我遇到一个问题,如果我的Android 8手机启用了通用标准模式,我将无法与蓝牙LE设备通信。禁用公共标准模式时,一切正常

然而,当我使用我的Android 6手机启用通用标准模式时,我没有问题

我遇到过这样的情况,即公共标准模式“阻止未经身份验证的蓝牙连接”

所以我认为蓝牙LE连接没有经过认证,在三星和诺克斯解决问题之前,BLE永远不会使用通用标准模式

我在3个不同的应用程序上尝试了3个不同的BLE设备,行为总是一样的,这些设备在公共标准模式关闭时工作得很好,但在公共标准模式打开时它们不工作


我甚至做了一个测试应用程序,当公共标准模式被启用时,我的GATT回调立即返回错误133“GATT_error”和newState 0“DISCONNECTED”

在建立连接时,可靠的连接必须始终是不安全的。然后,一个过程可以对未加密的链接进行加密。所以感觉他们的设计被破坏了,或者他们忘了提到它是如何工作的细节。我想是这样的。如果他们的整个想法是保持所有蓝牙连接100%安全,那么他们就必须阻止所有BLE连接。Emil,你知道操作系统中有一种用于BLE连接的开箱即用的方法吗,或者通过传递这个?像任何想法或理论一样?除非你将其扎根。是否可以使用自定义的BLE堆栈代替内置堆栈而不扎根手机?我们迫切需要一个创造性的解决方案。在建立连接时,可扩展的连接必须始终是不安全的。然后,一个过程可以对未加密的链接进行加密。所以感觉他们的设计被破坏了,或者他们忘了提到它是如何工作的细节。我想是这样的。如果他们的整个想法是保持所有蓝牙连接100%安全,那么他们就必须阻止所有BLE连接。Emil,你知道操作系统中有一种用于BLE连接的开箱即用的方法吗,或者通过传递这个?像任何想法或理论一样?除非你将其扎根。是否可以使用自定义的BLE堆栈代替内置堆栈而不扎根手机?我们迫切需要一个创造性的解决方案。