BLE 在 Android11平台上的权限变更

针对Android 11平台,当目标SDK版本设置为30时,蓝牙扫描功能出现异常。在Android 11之前,仅需BLUETOOTH、BLUETOOTH_ADMIN和ACCESS_COARSE_LOCATION权限,但在Android 11上,必须添加ACCESS_FINE_LOCATION权限才能正常接收蓝牙广播数据。这是Android 11引入的新策略。
摘要由CSDN通过智能技术生成

Issue:
When setting the app’s targetSdk is 30, and app running normal on Android 8, but running abnormal on Android 11
在扫描蓝牙广播时,收不到onScanResult的结果回调
Fix:
As we know, if we want to receive the advertising data, we should apply permission as below:

Manifest.permission.BLUETOOTH
Manifest.permission.BLUETOOTH_ADMIN
Manifest.permission.ACCESS_COARSE_LOCATION

But when the targetSdk is 30, we should add another permission:

Manifest.permission.ACCESS_FINE_LOCATION

It’s a new strategy on Android 11.

reference:
Before android 11:

    /**
     * Start Bluetooth LE scan with default parameters and no
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值