Проблема с разрешениями Flutter Bluetooth на Android 13: невозможно сканировать устройстваAndroid

Форум для тех, кто программирует под Android
Ответить
Гость
 Проблема с разрешениями Flutter Bluetooth на Android 13: невозможно сканировать устройства

Сообщение Гость »


Я разрабатываю приложение Flutter, которое использует функции Bluetooth, в частности сканирование Bluetooth, с использованием пакета flutter_blue. Я столкнулся с проблемой, связанной с разрешениями Bluetooth на Android 13.

Описание проблемы:

В моем файле AndroidManifest.xml я включил следующие разрешения:

В моем коде Flutter я использую пакет permission_handler для запроса разрешений на сканирование Bluetooth и определение местоположения. Вот мой фрагмент кода:

@override недействительный initState() { супер.initState(); запросBluetoothPermission(); } void requestBluetoothPermission () асинхронный { PermissionStatus bluetoothStatus = ждут Permission.bluetoothScan.request(); Статус PermissionStatus locationStatus = ждут Permission.location.request(); if (bluetoothStatus.isGranted && locationStatus.isGranted) { сканированиеУстройства(); } еще { }

void scanDevices() { пытаться { флаттерBlue.startScan(); flutterBlue.scanResults.listen((результаты) { setState(() { _scannedDevices = результаты; print("Результаты сканирования Bluetooth: ${results.toString()}"); }); }); } поймать(е) { print("Ошибка при сканировании Bluetooth: $e"); } } Проблема: несмотря на запрос необходимых разрешений, я все равно сталкиваюсь со следующей ошибкой:

[ОШИБКА: flutter/runtime/dart_vm_initializer.cc(41)] Необработано Исключение: PlatformException (startScan, требуется android.permission.BLUETOOTH_SCAN разрешение для AttributionSource { uid = XXXX, packageName = XXXX, attributionTag = ноль, токен = android.os.BinderProxy@XXXX, следующий = ноль}: GattService RegisterScanner, java.lang.SecurityException: требуется android.permission.BLUETOOTH_SCAN разрешение для AttributionSource { uid = XXXX, packageName = XXXX, attributionTag = null, token = android.os.BinderProxy@XXXX, next = null}: GattService RegisterScanner Дополнительная информация: Версия Flutter: 3.13.2 версия пакета flutter_blue: 0.8.0 Версия пакета Permission_handler: 11.0.0 Версия Android: 13

Я уже проверил разрешения в моем файле AndroidManifest.xml и убедился, что запрашиваю их правильно в своем коде Flutter. Что может быть причиной этой проблемы и как ее решить, чтобы успешно сканировать устройства Bluetooth на Android 13?

Спасибо за помощь!
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»