我正在Android中开发一个应用程序,仅使用Android的API扫描附近的蓝牙低功耗设备。有任何功能可以扫描并返回所有检测到的设备的列表吗?目前我正在使用回调,但我需要每秒调用此函数更多次,因此回调不是这样。
答案 0 :(得分:0)
不,我不认为没有像我所知的那样使用回调函数。
回调是扫描过程的重要部分。
这是创建回调的代码
private ScanCallback leScanCallback = new ScanCallback() {
@Override
public void onScanResult(int callbackType, ScanResult result) {
//code for what you want to do when a device is found
}
};
ScanResult是一种数据结构,它保存有关设备及其拥有的服务数据的信息。
这是开始扫描
AsyncTask.execute(new Runnable() {
@Override
public void run() {
btScanner.startScan(leScanCallback);
}
});
这是停止扫描
AsyncTask.execute(new Runnable() {
@Override
public void run() {
btScanner.stopScan(leScanCallback);
}
});
答案 1 :(得分:0)
不,蓝牙LE扫描自然是一个需要回调的异步过程。此外,呼叫每秒扫描更多次,不会提高您获得更多结果的机会。蓝牙LE扫描过程持续运行并返回所有可能的结果。