为什么""BluetoothAdapter:startLeScan():null""发生在Android中的BLE扫描?

Wun*_*Wun 8 android bluetooth-lowenergy

我正在开发Android for BLE.我的BLE设备会播放不同的名字,所以我需要继续重新扫描Android.

我创建了一个Runnable停止并开始扫描,如下所示.当我打电话时mHandler.post(monitorDevice);,它会启动Runnable.

final Runnable monitorDevice = new Runnable() {
    @Override
    public void run() {
        scanLeDevice(false);
        scanLeDevice(true);
        mHandler.postDelayed(this,3000);
    }
};
Run Code Online (Sandbox Code Playgroud)

代码scanLeDevice如下:

public void scanLeDevice(final boolean enable) {
                // TODO Auto-generated method stub
                if(enable){
                    mScanning = true;
                    mBluetoothAdapter.startLeScan(mLeScanCallback);

                }else {
                    mScanning = false;
                    mBluetoothAdapter.stopLeScan(mLeScanCallback);
                }
            }
Run Code Online (Sandbox Code Playgroud)

我可以在开始时看到日志中的扫描结果.但是大约10~15分钟后,logcat显示以下日志,我看不到任何扫描结果.

startLeScan(): null
D/BluetoothLeScanner? onClientRegistered() - status=0 clientIf=5
Run Code Online (Sandbox Code Playgroud)

有人有这个问题吗?提前致谢!!!