Android蓝牙一次又一次扫描

Android蓝牙一次又一次扫描,android,bluetooth,network-scan,Android,Bluetooth,Network Scan,我在连续运行多个扫描时遇到一些问题。以下是我如何处理该操作: if(BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)){ Log.w("Bluetooth", "SCAN STOPPED EVENT"); try{ mBluetoothAdapter.startDiscovery(); }catch(Exception ex){

我在连续运行多个扫描时遇到一些问题。以下是我如何处理该操作:

if(BluetoothAdapter.ACTION_DISCOVERY_FINISHED.equals(action)){
            Log.w("Bluetooth", "SCAN STOPPED EVENT");
            try{
                mBluetoothAdapter.startDiscovery();
            }catch(Exception ex){
                Log.w("Bluetooth", ""+ex);
            }
        }
扫描后,我得到以下日志输出。在本例中,扫描发现5个设备

(main) [1,17346] SCAN STOPPED EVENT
(524): mDeviceProperties size is 5
(524): mCache size is 5
(524): trying to delete object
(524): trying to delete object
(524): trying to delete object
(524): trying to delete object
(524): trying to delete object
(524): Deleting object00:AA:DD:FF:AA:44
(524): Deleting object77:DD:22:66:99:44
(524): Deleting object00:00:88:99:22:77
(524): Deleting object77:CC:33:CC:33:FF
(524): Deleting object66:33:44:00:33:88
(524): mDeviceProperties size is 0
(524): mCache size is 0

很明显,它正在经历某种过程,删除所有缓存设备,但再也不会开始扫描。。有人对此有什么建议吗?

我不知道为什么,但如果我运行
mBluetoothAdapter.cancelDiscovery()三次,然后我尝试再次扫描它的工作。知道为什么会这样吗?要在扫描超时之前真正停止扫描,我必须调用
mBluetoothAdapter.cancelDiscovery()两次。