android 开发,蓝牙有时出现扫描不到

<uses-feature
    android:name="android.hardware.bluetooth_le"
    android:required="true" />

<uses-sdk
    android:minSdkVersion="18"
    android:targetSdkVersion="20" />

<uses-feature
    android:name="android.hardware.bluetooth.ble"
    android:required="true" />

<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

权限如上,
功能:我在做一个使用蓝牙操作附近的蓝牙锁。扫描附近的设备后,用列表显示搜索到的,连接其中一个锁进行开关操作界面进行操作。
现象:正常情况下是,随时都可以扫描到附近设备。但是有时候操作完,退回到列表页时,会出现搜索不到的现象。附近的所有锁都扫描不到,需要关闭蓝牙,重新打开才能扫描到,这是偶尔出现的现象。
图片说明
有没有人知道这是怎么回事呢?

我也遇到同样的问题了,在网上找到的答案是:蓝牙功能跟定位权限页有关,所以你把定位的权限也加上应该就能解决问题了,我是这么解决的。

这边有很多的东西要注意的 service要关闭,广播要注销,连接要断开,列表的数据要notfiychange