diff --git a/permission_handler_android/CHANGELOG.md b/permission_handler_android/CHANGELOG.md index 37874ccd3..8c5907c41 100644 --- a/permission_handler_android/CHANGELOG.md +++ b/permission_handler_android/CHANGELOG.md @@ -1,3 +1,7 @@ +## 12.0.14 + +* On Android 12+, check for different Bluetooth declarations in the Android manifest. + ## 12.0.13 * Updates the Android min SDK to 19 (from 16). diff --git a/permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionUtils.java b/permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionUtils.java index c56bcfdfb..5cdad3e22 100644 --- a/permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionUtils.java +++ b/permission_handler_android/android/src/main/java/com/baseflow/permissionhandler/PermissionUtils.java @@ -252,8 +252,19 @@ static List getManifestNames(Context context, @PermissionConstants.Permi break; case PermissionConstants.PERMISSION_GROUP_BLUETOOTH: - if (hasPermissionInManifest(context, permissionNames, Manifest.permission.BLUETOOTH)) + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) { + if (hasPermissionInManifest(context, permissionNames, Manifest.permission.BLUETOOTH_SCAN)) { + permissionNames.add(Manifest.permission.BLUETOOTH_SCAN); + } + if (hasPermissionInManifest(context, permissionNames, Manifest.permission.BLUETOOTH_CONNECT)) { + permissionNames.add(Manifest.permission.BLUETOOTH_CONNECT); + } + if (hasPermissionInManifest(context, permissionNames, Manifest.permission.BLUETOOTH_ADVERTISE)) { + permissionNames.add(Manifest.permission.BLUETOOTH_ADVERTISE); + } + } else if (hasPermissionInManifest(context, permissionNames, Manifest.permission.BLUETOOTH)) { permissionNames.add(Manifest.permission.BLUETOOTH); + } break; case PermissionConstants.PERMISSION_GROUP_MANAGE_EXTERNAL_STORAGE: diff --git a/permission_handler_android/pubspec.yaml b/permission_handler_android/pubspec.yaml index 7d32908fa..6f82e00c6 100644 --- a/permission_handler_android/pubspec.yaml +++ b/permission_handler_android/pubspec.yaml @@ -1,7 +1,7 @@ name: permission_handler_android description: Permission plugin for Flutter. This plugin provides the Android API to request and check permissions. homepage: https://github.com/baseflow/flutter-permission-handler -version: 12.0.13 +version: 12.0.14 environment: sdk: ">=2.15.0 <4.0.0"