---
updatedAt: 2025-11-07T19:54:45.000Z
agentTools:
  projectIndex: https://developer.validic.com/llms.txt
---

# Bluetooth Permissions

Native Android ==> Bluetooth module

The validicmobile-ble artifact automatically adds the following permissions to the consuming application's mergedAndroidManifest.xml:

```
<uses-permission
    android:name="android.permission.BLUETOOTH"
    android:maxSdkVersion="30" />  
<uses-permission
    android:name="android.permission.BLUETOOTH_ADMIN"
    android:maxSdkVersion="30" />

<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:permissionFlags="neverForLocation" />
<uses-permission android:name="android.permission.BLUETOOTH_PRIVILEGED" />
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" android:maxSdkVersion="30"/>
```

### Android 10

Starting with Android 10, android.permission.ACCESS\_FINE\_LOCATION is required by the OS.\
android.permission.ACCESS\_BACKGROUND\_LOCATION must be requested along with android.permission.ACCESS\_FINE\_LOCATION in order for Passive Bluetooth reading to succeed if the device is in DOZE mode for devices running api 26 or later

### Android 11

Starting with Android 11, on devices running api >= Android 11 (api 30), the android.permission.ACCESS\_BACKGROUND\_LOCATION must be granted manually by end user's in the application settings. To navigate to the application settings use the following code

```
Intent intent = new Intent(  
  Settings.ACTION_APPLICATION_DETAILS_SETTINGS,  
  Uri.parse("package:" + getApplication().getPackageName())  
);  
intent.addCategory(Intent.CATEGORY_DEFAULT);

startActivityForResult(intent, BLE_BACKGROUND_CODE);
```

### Android 12

Starting with Android 12 there are new permissions that must be requested at runtime. `BLUETOOTH_SCAN`, and `BLUETOOTH_CONNECT`. For devices running Android 12 or higher the `ACCESS_FINE_LOCATION` and `ACCESS_BACKGROUND_LOCATION` permissions are no longer required. They are still required for devices running Android 11 or below.