让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名注册、网络空间、营销软件、网站建设、细河网站维护、网站推广。
通过 BLE 扫描和广播提供的开放能力,可以根据指定状态获取外围设备、启动或停止 BLE 扫描、广播。
接口名 | 功能描述 |
---|---|
startScan(List | 进行 BLE 蓝牙扫描,并使用 filters 对结果进行过滤。 |
stopScan() | 停止 BLE 蓝牙扫描。 |
getDevicesByStates(int[] states) | 根据状态获取连接的外围设备。 |
BleCentralManager(BleCentralManagerCallback callback) | 获取中心设备管理对象。 |
接口名 | 功能描述 |
---|---|
onScanCallback(BleScanResult result) | 扫描到 BLE 设备的结果回调。 |
onStartScanFailed(int resultCode) | 启动扫描失败的回调。 |
接口名 | 功能描述 |
---|---|
BleAdvertiser(Context context, BleAdvertiseCallback callback) | 用于获取广播操作对象。 |
startAdvertising(BleAdvertiseSettings settings, BleAdvertiseData advData, BleAdvertiseData scanResponse) | 进行 BLE 广播,第一个参数为广播参数,第二个为广播数据,第三个参数是扫描和广播数据参数的响应。 |
stopAdvertising() | 停止 BLE 广播。 |
startResultEvent(int result) | 广播回调结果。 |
// 实现扫描回调
public class ScanCallback implements BleCentralManagerCallback{
Listresults = new ArrayList();
@Override
public void onScanCallback(BleScanResult var1) {
// 对扫描结果进行处理
results.add(var1);
}
@Override
public void onStartScanFailed(int var1) {
HiLog.info(TAG,"Start Scan failed,Code:" + var1);
}
}
// 获取中心设备管理对象
private ScanCallback centralManagerCallback = new ScanCallback();
private BleCentralManager centralManager = new BleCentralManager(centralManagerCallback);
// 创建扫描过滤器然后开始扫描
List filters = new ArrayList();
centralManager.startScan(filters);
// 实现 BLE 广播回调
private BleAdvertiseCallback advertiseCallback = new BleAdvertiseCallback() {
@Override
public void startResultEvent(int result) {
if(result == BleAdvertiseCallback.RESULT_SUCC){
// 开始 BLE 广播成功
}
else {
// 开始 BLE 广播失败
}
}
};
// 获取 BLE 广播对象
private BleAdvertiser advertiser = new BleAdvertiser(this,advertiseCallback);
// 创建 BLE 广播参数和数据
private BleAdvertiseData data = new BleAdvertiseData.Builder()
.addServiceUuid(SequenceUuid.uuidFromString(Server_UUID)) // 添加服务的 UUID
.addServiceData(SequenceUuid.uuidFromString(Server_UUID),new byte[]{0x11}) // 添加广播数据内容
.build();
private BleAdvertiseSettings advertiseSettings = new BleAdvertiseSettings.Builder()
.setConnectable(true) // 设置是否可连接广播
.setInterval(BleAdvertiseSettings.INTERVAL_SLOT_DEFAULT) // 设置广播间隔
.setTxPower(BleAdvertiseSettings.TX_POWER_DEFAULT) // 设置广播功率
.build();
// 开始广播
advertiser.startAdvertising(advertiseSettings,data,null);
网站标题:创新互联鸿蒙OS教程:鸿蒙OSBLE扫描和广播
当前路径:http://www.shufengxianlan.com/qtweb/news3/296653.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联