问题
I've got an issue about android 6 and BLE compatibility.
My app initiate a read request on a protected characteristic which launch the pairing display to enter the appropriate passcode. With the right pass code, the smartphone and the ble device are bonded just fine if it's with android < 6.0
I tried with an android 6.0.1 too but it keeps giving me the same message "Couldn't pair because of an incorrect PIN or passkey"
It's not a permission issue since i already get the position permission with ACCESS_COARSE_LOCATION request.
It seems it's a problem about the LinkKey bits in the pairing request. I need to access it and block it since the ble device is confused by the additional bit(s) in the pairing request (because of its use of the Bluetooth 4.0 and not 4.2).
Any idea how to do that?
回答1:
Known bug in 1.4.0 of Ti BLE stack got fixed in 1.4.1:
Fix for CC254x host Bond Manager setParam configuration does not support M/S LinkKey enc exchange
来源:https://stackoverflow.com/questions/38832903/android-6-authentification-issue-with-ble-device-access-to-the-linkkey-bits