安卓10蓝牙不搜索不进入回调函数的问题

您所在的位置:网站首页 安卓10蓝牙权限怎么打开不了 安卓10蓝牙不搜索不进入回调函数的问题

安卓10蓝牙不搜索不进入回调函数的问题

2024-07-10 06:39| 来源: 网络整理| 查看: 265

Android 6.0之后,蓝牙扫描回调需要获取模糊定位查询,Android 10之后更严格,需要获取精确定位。

这些年Google对安卓的控制可谓是越来越严谨了,安全性也是越来越高。

现在的问题是,当你的targetSDK>22的时候,扫描蓝牙就不不会有回调了,而且即使是在Manifest中添加了permission也依然无法获取回调,解决办法如下:

TargetSdk降级到22——降级法

以上办法比较愚蠢,会导致app的目标sdk过老旧,手机可能会提示兼容性问题,很不靠谱,建议仅仅是要解决问题的偷懒可以这个干,真要解决这个蓝牙回调权限问题请参照法二,如下: 

开启权限

第一步,修改Manifest.xml

第二步,手动开启权限的代码(注意android10开始,这个蓝牙permission通过manifest已经无法激活成功了,需要手动向用户提示,让用户打开哦。

if (Build.VERSION.SDK_INT >= 23) { int checkCallPhonePermission = ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION); if(checkCallPhonePermission != PackageManager.PERMISSION_GRANTED){ //判断是否需要 向用户解释,为什么要申请该权限 if(ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_COARSE_LOCATION)) // Toast.makeText(this,R.string.ble_need_location, Toast.LENGTH_LONG).show(); ActivityCompat.requestPermissions(this ,new String[]{Manifest.permission.ACCESS_COARSE_LOCATION},1); return; }else{ } }

 

 


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3