新建立的Android 蓝牙项目,默认targetSdk 34。 开始过程中,蓝牙权限全部授权,依旧无法搜索到蓝牙设备,并且BluetoothAdapter.startDiscovery()返回false。运行其他蓝牙demo都正常。
将 targetSdk 34 更改为 targetSdk 33 后,蓝牙搜索就正常了。具体原因未知。
BluetoothAdapter.startDiscovery()返回false 第二个原因:
动态申请定位权限时,由于权限组的缘故,选择了Manifest.permission.ACCESS_COARSE_LOCATION这个权限进行申请,导致是否返回fasle。
解决方案:单独申请Manifest.permission.ACCESS_FINE_LOCATION这个权限。或者两个权限一起申请。