问题
I have an application that regularly polls BLE peripherals for data. On rare occasions, the Android device is not able to connect to specific devices for long periods of time.
Not only using my application, but with any other BLE-application I could find on Google play, is it unable to connect to one specific peripheral X. It can connect just fine with other ("identical") peripherals during this state, and other Android devices can connect to peripheral X. This problem tend to go away after a couple of hours or days by itself. Restarting the device, and re-enabling WiFi and bluetooth does not solve it.
The Android devices being used is Samsung Galaxy Tab S2.
Is there some kind of hidden blacklist in the Android BLE stack, to which the address of peripheral X was added for some reason?
EDIT: Manually clearing the "Data" and "Cache" of the System application "BluetoothAdvertisements" in "Settings" appears to fix this state, and the device is yet again able to connect to the device. The big question is now, what is causing this problem, and how can one avoid it.
来源:https://stackoverflow.com/questions/41763378/android-cant-connect-to-specific-bluetooth-device