当我运行我的项目时显示此错误
`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):
”
我加了`
<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" />
`这个权限在androidmanifest,但仍然显示相同的错误,不采取任何蓝牙设备。
1条答案
按热度按时间lmvvr0a81#
Remove
您的权限请求中的android:maxSdkVersion="30"
。像这样使用它将权限请求限制为SDK版本
30 and older
。另外,对于
SDK >30
,您只需要BLUETOOTH_SCAN
和BLUETOOTH_CONNECT
。有关详细信息,请查看documentation。将代码更改为以下内容,它应该可以工作: