private void refreshDeviceCache(BluetoothGatt gatt) {
        try {
            BluetoothGatt localBluetoothGatt = gatt;
            Method localMethod = localBluetoothGatt.getClass().getMethod("refresh", new Class[0]);
            if (localMethod != null) {
                localMethod.invoke(localBluetoothGatt, new Object[0]);
            } else {
                Log.e(TAG, "Couldn't find local method: refresh");
            }
        }
        catch (Exception localException) {
            Log.e(TAG, "An exception occurred while refreshing device");
        }
    }
private void refreshDeviceCache ( BluetoothGatt gatt ) { try { BluetoothGatt localBluetoothGatt = gatt ; Method localMethod = localBluetoothGatt . getClass ( ) . getMethod ( "refresh" , new Class [ 0 ] ) ; if ( localMethod != null ) { localMethod . invoke ( localBluetoothGatt , new Object [ 0 ] ) ; } else { Log . e ( TAG , "Couldn't find local method: refresh" ) ; } } catch ( Exception localException ) { Log . e ( TAG , "An exception occurred while refreshing device" ) ; } }
Attempt to invalidate Androids internal GATT table cache

http://stackoverflow.com/a/22709467/5640435

@param gatt BluetoothGatt object