PhilipsHue / flutter_reactive_ble

Flutter library that handles BLE operations for multiple devices.
https://developers.meethue.com/
Other
667 stars 334 forks source link

connectToDevice connectionTimeout doesn't work on Android 13 #795

Open Utkuusta opened 1 year ago

Utkuusta commented 1 year ago

Describe the bug I have set the connectionTimout under connectToDevice function to 30 seconds but it still acts as 5 seconds on an android 13 device, lower versions of android seems to be working.

Future connect(String deviceId) async { await DefaultCacheManager().emptyCache(); _logMessage('Start connecting to $deviceId'); _connection = _ble .connectToDevice(id: deviceId, connectionTimeout: Duration(seconds: 30)) .listen( (update) { _logMessage( 'ConnectionState for device $deviceId : ${update.connectionState}'); _deviceConnectionController.add(update); }, onError: (Object e) => _logMessage('Connecting to device $deviceId resulted in error $e'), ); }

All the permissions I have added to my project:

<uses-permission
        android:name="android.permission.BLUETOOTH"
        android:maxSdkVersion="30" />
<uses-permission
        android:name="android.permission.BLUETOOTH_ADMIN"
        android:maxSdkVersion="30" />

<!-- required for API 23 - 30 -->
<uses-permission
        android:name="android.permission.ACCESS_COARSE_LOCATION"
         />
<uses-permission
        android:name="android.permission.ACCESS_FINE_LOCATION"
         />

<uses-permission android:name="android.permission.INTERNET"/>

<!-- API 31+ -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission
        android:name="android.permission.BLUETOOTH_SCAN"
        android:usesPermissionFlags="neverForLocation" />

<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_MEDIA_LOCATION"/>
Taym95 commented 1 year ago

Thanks for report, I will check it and get back to you.

Utkuusta commented 1 year ago

I just found out that it is not an android 13 issue, I have two devices I am working with that have android 13, on a Galaxy Tab A7 Lite the duration is 5 seconds, on a Nothing phone (1) the duration is 30 seconds, both running Android 13