读蓝牙设备rssi没有连接他们starscan()问题

时间:2018-01-06 07:28:08

标签: android bluetooth bluetooth-lowenergy

我读了这个Issue

我想制作一个示例应用,以便在不连接它的情况下读取应用范围附近的所有BLE设备rssi。

我创造了STICKY服务&访问设备扫描结果附近。

BluetoothManager mBluetoothManager = (BluetoothManager) getSystemService(SmartIDService.this.BLUETOOTH_SERVICE);
        mBluetoothAdapter = mBluetoothManager.getAdapter();

//Start Scan.
mBluetoothAdapter.startLeScan(mLeScanCallback);

//Listen scan Resul.
private BluetoothAdapter.LeScanCallback mLeScanCallback = new BluetoothAdapter.LeScanCallback()
    {

        @Override
public void onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord)
        {           
            AppLogger.showDebugLog(TAG + "rssi: " +rssi);

        }
    }; 

我得到了我想要的结果,但如果BLE设备超出范围一段时间我再也无法得到结果。 我认为startLeScan()是从内存中删除的,所以我创建了一个警报服务来唤醒mBluetoothAdapter.startLeScan(mLeScanCallback); 一段时间间隔&问题已解决。 但我找不到实际的时间间隔,我将唤醒alaram服务。

任何解决方案!!!
每个设备的想法时间间隔?
还有其他过程吗?

请指导我

0 个答案:

没有答案