Skip to content

Commit e936baf

Browse files
Rationalise the BLE permissions, require BLE devices via uses-feature
1 parent e51d198 commit e936baf

File tree

1 file changed

+16
-10
lines changed

1 file changed

+16
-10
lines changed

android/app/src/main/AndroidManifest.xml

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
<?xml version="1.0" encoding="utf-8" ?>
2-
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools">
34
<application
45
android:allowBackup="true"
56
android:icon="@mipmap/ic_launcher"
@@ -29,20 +30,25 @@
2930
</provider>
3031
</application>
3132

33+
<!-- BLE Hardware Features -->
34+
<!-- Restricts app visibility in Google Play Store to devices with BLE support -->
35+
<uses-feature android:name="android.hardware.bluetooth_le" android:required="true" />
36+
3237
<!-- Permissions -->
38+
<uses-permission android:name="android.permission.INTERNET" />
39+
40+
<!-- Location permissions for BLE scanning on Android < 12 only -->
3341
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" android:maxSdkVersion="30" />
3442
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="30" />
35-
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="neverForLocation" />
3643

37-
<!-- BLUETOOTH_CONNECT permission is required from Android 12 to connect to a Bluetooth LE device -->
44+
<!-- BLE permissions for Android 12+ (API 31+) -->
45+
<!-- neverForLocation flag indicates we don't use BLE scan results for physical location -->
46+
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"
47+
android:usesPermissionFlags="neverForLocation"
48+
tools:targetApi="s" />
3849
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
3950

40-
<!-- ACCESS_BACKGROUND_LOCATION permission is required required to trigger a successful DFU whilst the device screen is turned off: https://github.com/NordicSemiconductor/Android-DFU-Library -->
41-
<!-- Removed to avoid problems with new Google Play approval process -->
42-
<!-- <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> -->
43-
44-
<!-- FOREGROUND_SERVICE permission is required required: https://github.com/NordicSemiconductor/Android-DFU-Library/issues/321 -->
51+
<!-- Foreground service permission for Nordic DFU library -->
52+
<!-- Note: Android 14+ (API 34+) requires specifying a foreground service type if using foreground services -->
4553
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
46-
47-
<uses-permission android:name="android.permission.INTERNET" />
4854
</manifest>

0 commit comments

Comments
 (0)