看官们,我们在上一章回中介绍了BLE开发中蓝牙扫描设备的例子,本章回中我们继续介绍该例子,闲话休提,言归正转。让我们一起Talk Android吧!
我们在上一章回中介绍了BluetoothLeScanner类中startScan方法的第二个参数,本章回中介绍该方法的第三个参数:callback
该参数是ScanCallback类型的变量. 该变量是回调方法,也是三个参数是最重要的一个,因为在这个回调方法中包含了扫描后的结果.也就是回调结果。我们需要重写该回调方法中的方法;下面是一个使用示例:
mScanCallback = new ScanCallback() {
@Override
public void onScanResult(int callbackType, ScanResult result) {
super.onScanResult(callbackType, result);
//getting device information from result
BluetoothDevice device = result.getDevice();
Log.d(TAG, "onScanResult: "+result.toString());
}
@Override
public void onBatchScanResults(List<ScanResult> results) {
super.onBatchScanResults(results);
Log.d(TAG, "onBatchScanResults: ");
}
@Override
public void onScanFailed(int errorCode) {
super.onScanFailed(errorCode);
Log.d(TAG, "onScanFailed: "+errorCode);
}
};
在代码中我们重写了三个方法,不过没有做具体的操作,只是打印一行log。这三个方法中最重要的是onScanResult方法,我们可以从该方法的第二个参数result 中获取到扫描后的蓝牙设备和RSSI等信息,result是ScanResult类型的变量,它封装了所有的扫描结果。感兴趣的看官可以自己去分析该类的源代码。
各位看官,关于Android中蓝牙扫描设备的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!