我设法在Android P及更早版本上扫描/发现蓝牙设备,而无需启用定位服务。这些方法中的任何一种对我都有效:
BluetoothAdapter
或LeScanCallback
(目标API级别22或更早版本)的ScanCallback
扫描方法BluetoothAdapter startDiscovery
听BluetoothDevice.ACTION_FOUND IntentFilter
但是,其中任何一个都无法在Android Q上显示此消息。-
E/BluetoothUtils: Permission denial: Location is off
由于这很容易解释(实际上是在设备上启用位置服务才能使其正常工作),现在恐怕必须启用位置服务才能使用蓝牙功能,但是以防万一,任何人都知道其他解决方法而不扫描蓝牙设备而不启用位置?