BLE Connectivity Issue - Gatt 22 in Android 10


Our mobile app which connects to shaver ( BLE enabled), doesn’t work on some of the Samsung devices after updating to Andriod 10. The connection ( first time connection and second time onwards ) was working fine earlier when the same devices were on Android 9.

Some of the devices Devices we tested : Samsung Note 1 0, Samsung S9, Samsung M31.

Scenario : First time connection works fine, but second time onwards connection is NOT working if we switch OFF and ON in between.
Work Around: The connection gets succeeded if the mobile phone goes for a restart or Flight mode ON/OFF toggle happens. Then connection gets succeeded after that.

What has changed from Android 9 to Android 10 ? What is the reason for this behaviour ? how this issue can be solved ?

More details:
Looks like BLE pending change indication is causing the problem when ever there is a Bluetooth Switch OFF happens , which is preventing further connection success. Because of this pending change indication the connection request returns Gatt-22 error.


Hi Team,

Any further update on this issue ?


It seems the issue should be analyzed deeply to find out the actual reason behind this. You can report the issue officially to the Samsung with below details:

  1. Clear reproduction route
  2. Dumpstate log
  3. Demo Video
  4. Expected Result

To get dumpstate log please follow the below steps:
a) Immediately after issue reproduction, dial *#9900# and if the Debug Level is Disabled/LOW, tap to select MID. This restarts the device.
b) Again dial *#9900# and press “RUN DUMPSTATE/LOGCAT/”
c) When it is finished press “COPY TO SDCARD(INCLUDE CP RAMDUMP)
d) In the main folder of the device file system, there will be a new folder called “log”. The log file should be there.

Here is the link., report here.