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.