我正在开发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);
}
};
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);
}
}
我可以在开始时看到日志中的扫描结果。但是大约10~15分钟后,logcat显示以下日志,我看不到任何扫描结果。
startLeScan(): null
D/BluetoothLeScanner﹕ onClientRegistered() - status=0 clientIf=5
有人有这个问题吗?在此先感谢!!!