1

when I running the my project showing this error

`D/BluetoothAdapter(25841): isLeEnabled(): ON
I/flutter (25841): Error starting scan.
E/flutter (25841): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: PlatformException(startScan, Need android.permission.BLUETOOTH_SCAN permission for android.content.AttributionSource@bb6a5b7c: GattService registerScanner, null, null)
E/flutter (25841): #0      BluetoothManager.scan (package:flutter_bluetooth_basic/src/bluetooth_manager.dart:85:7)
E/flutter (25841): <asynchronous suspension>
E/flutter (25841):

`

I added `

<uses-permission android:name="android.permission.BLUETOOTH"
        android:maxSdkVersion="30"
        tools:targetApi="donut" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"
        android:maxSdkVersion="30"
        tools:targetApi="donut" />
    <uses-permission android:name="android.permission.BLUETOOTH_SCAN"
        android:usesPermissionFlags="neverForLocation"
        android:maxSdkVersion="30"
        tools:targetApi="31" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

` this permissions in androidmanifest but still the same error is showing and not taking any blue tooth devices.

Sibi Kumar
  • 72
  • 8

1 Answers1

1

Remove the android:maxSdkVersion="30" from your permission requests.

Using it like this limits the permission request to SDK version 30 and older.

Also, you only need BLUETOOTH_SCAN and BLUETOOTH_CONNECT for SDK >30. Check the documentation for more information.

Change your code to the following and it should work:

    <uses-permission android:name="android.permission.BLUETOOTH"
        android:maxSdkVersion="30"/>
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"
        android:maxSdkVersion="30"/>
    <uses-permission android:name="android.permission.BLUETOOTH_SCAN"
        android:usesPermissionFlags="neverForLocation"
        tools:targetApi="31" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" 
        android:maxSdkVersion="30"/>
Esmaeil Ahmadipour
  • 840
  • 1
  • 11
  • 32