Flutter在Android 12运行时缺少BLUETOOTH权限问题求助
蓝牙权限缺失问题:android.permission.BLUETOOTH
错误日志
E/BThermalPrinterPlugin( 9243): UID 10581 / PID 9243 lacks permission android.permission.BLUETOOTH E/BThermalPrinterPlugin( 9243): java.lang.SecurityException: UID 10581 / PID 9243 lacks permission android.permission.BLUETOOTH E/BThermalPrinterPlugin( 9243): at android.os.Parcel.createExceptionOrNull(Parcel.java:2426)
AndroidManifest.xml 配置
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.soerjdev.enakabe"> <application android:label="Enakabe" android:icon="@mipmap/launcher_icon"> <activity android:name=".MainActivity" android:launchMode="singleTop" android:theme="@style/LaunchTheme" android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode" android:hardwareAccelerated="true" android:windowSoftInputMode="adjustResize" android:exported="true"> <meta-data android:name="io.flutter.embedding.android.NormalTheme" android:resource="@style/NormalTheme" /> <meta-data android:name="io.flutter.embedding.android.SplashScreenDrawable" android:resource="@drawable/launch_background" /> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <meta-data android:name="flutterEmbedding" android:value="2" /> </application> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30"/> <uses-permission android:name="android.permission.BLUETOOTH_SCAN" /> <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="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.BLUETOOTH_ADVERTISE" /> </manifest>
build.gradle 配置
def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { localPropertiesFile.withReader('UTF-8') { reader -> localProperties.load(reader) } } def flutterRoot = localProperties.getProperty('flutter.sdk') if (flutterRoot == null) { throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") } def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' } def flutterVersionName = localProperties.getProperty('flutter.versionName') if (flutterVersionName == null) { flutterVersionName = '1.0' } apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" android { compileSdkVersion 33 sourceSets { main.java.srcDirs += 'src/main/kotlin' } defaultConfig { applicationId "com.soerjdev.enakabe" minSdkVersion 21 targetSdkVersion 30 versionCode flutterVersionCode.toInteger() versionName flutterVersionName multiDexEnabled true } buildTypes { release { signingConfig signingConfigs.debug } } } flutter { source '../..' } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'com.android.support:multidex:2.0.1' }
pubspec.yaml 依赖
dependencies: flutter: sdk: flutter cupertino_icons: ^1.0.2 flutter_typeahead: ^4.1.1 shared_preferences: ^2.0.1 go_router: ^5.1.5 double_back_to_close_app: ^2.1.0 provider: ^6.0.4 image_picker: ^0.7.1 http: ^0.13.5 path_provider: ^2.0.11 path: ^1.8.2 flutter_spinkit: ^5.1.0 flutter_switch: ^0.3.2 intl: ^0.17.0 bluetooth_print: ^4.0.1 blue_thermal_printer: ^1.2.3 esc_pos_utils_plus: ^2.0.1+6 flutter_blue_plus: ^1.3.1 qr_flutter: ^4.0.0 image: ^3.2.2 url_launcher: ^6.0.0 scroll_snap_list: ^0.9.1 permission_handler: ^10.2.0 app_settings: ^4.1.8 dev_dependencies: flutter_test: sdk: flutter flutter_launcher_icons: "^0.11.0"
已经尝试过Stack Overflow上的多种解决方案,但仍无法解决该问题,恳请大家帮忙。
内容的提问来源于stack exchange,提问作者Abdullah Azzam
相关产品推荐
相关产品推荐

