Android 10 扫描蓝牙失败问题

Posted 夏至的稻穗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 10 扫描蓝牙失败问题相关的知识,希望对你有一定的参考价值。

最近在开发蓝牙,发现在 android 10 的设备上,只能扫描到已配对的设备,没匹配的设备,扫描不到,就广播没回调到;BLE 低功耗也扫描不到。

根据官网,已经添加了:ACCESS_FINE_LOCATION 精准定位了

还是不行,google 了一波,发现在
https://github.com/E。ddyVerbruggen/nativescript-bluetooth/issues/173 找到答案

开启gps后,就扫描到其他设备了,强制开启 gps 有点不优雅,可以添加个提示,让用户自己去开启,比如:

 //在 Android 10 还需要开启 gps
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) 
            val lm:LocationManager = getSystemService(Context.LOCATION_SERVICE) as LocationManager
            if (!lm.isProviderEnabled(LocationManager.GPS_PROVIDER))
                Toast.makeText(this@MainActivity, "请您先开启gps,否则蓝牙不可用", Toast.LENGTH_SHORT).show()
            
        

以上是关于Android 10 扫描蓝牙失败问题的主要内容,如果未能解决你的问题,请参考以下文章

php,android:蓝牙扫描仪禁用软件键盘

Android 4.4:低功耗蓝牙;无需扫描 BLE 设备即可连接

蓝牙扫描仪未发现设备

Android开发之蓝牙(Bluetooth)操作--扫描已经配对的蓝牙设备

Android-Ble蓝牙开发Demo示例–扫描,连接,发送和接收数据,分包解包(附源码)

在 iOS 上扫描蓝牙 2.1(旧版)设备