Можем ли мы удалить все записи о разрешении на местоположение в манифесте Android для Bluetooth при ориентации на Android 12?

#android #permissions #bluetooth

Вопрос:

https://developer.android.com/guide/topics/connectivity/bluetooth/permissions#declare-android12-or-higher

Согласно документации, мы можем удалить разрешения на определение местоположения для Bluetooth, если мы ориентируемся на Android 12. Проблема в том, что я не уверен в этом, потому что это означало бы, что Android 11 или ниже не требует НИКАКИХ разрешений во время выполнения при использовании Bluetooth. Поскольку новые разрешения могут использоваться только в Android 12, например:

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
    when {
        hasBluetoothPermissions() -> startScanning()
        shouldShowRequestPermissionRationale(Manifest.permission.BLUETOOTH_SCAN) ||
                shouldShowRequestPermissionRationale(Manifest.permission.BLUETOOTH_CONNECT) -> {
            showDialog()
        }
        else -> requestPermissionLauncher.launch(
            arrayOf(
                Manifest.permission.BLUETOOTH_SCAN,
                Manifest.permission.BLUETOOTH_CONNECT
            )
        )
    }
} else {
    startScanning()
}
 

Будет ли это работать для Android 11 или ниже, не имея разрешений на местоположение в манифесте? Я использую эти разрешения:

 <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_SCAN"
    android:usesPermissionFlags="neverForLocation"
    tools:targetApi="s" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />