android ble 蓝牙绑定流程,android BLE蓝牙开发

本文详细介绍了Android平台上的BLE蓝牙开发,包括客户端的设备扫描、连接、发现服务、发送和接收Characteristic,以及服务端的创建、接收消息和连接状态管理。通过示例代码展示了整个蓝牙通信流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

蓝牙BLE设备是目前比较热门的设备。由于BLE有低功耗等特点,被广泛应用到身边的电子产品上。如智能手表、手环、防丢器等各种产品上。最近研究一下android上的ble应用开发。跟大家分享一下相关的内容。

我的实现使用两台Android手机做ble相关的通信,一台机器作为服务端接收发过来的消息,另一台作为客户端发送消息。

客户端基本流程如下:

92180296_1.png

1.添加蓝牙相关权限

2.BLE设备扫描使用BluetoothAdapter.startLeScan来扫描发现设备,这个方法需要参数BluetoothAdapter.LeScanCallback,所以还需要实现此回调方法,来获取扫描结果。

注意:BLE扫描耗电量比较大,尽可能缩短扫描时间。发现用户所需连接的设备后立即停止扫描

public classDeviceScanActivity extendsListActivity {

privateBluetoothAdapter mBluetoothAdapter;private booleanmScanning;privateHandler mHandler;// 10秒后停止寻找.private static final longSCAN_PERIOD= 10000;private voidscanLeDevice(final booleanenable) {

if(enable) {

//经过预定扫描期后停止扫描mHandler.postDelayed(newRunnable() {

@Overridepublic voidrun() {

mScanning= false;mBluetoothAdapter.stopLeScan(mLeScanCallback);}

},SCAN_PERIOD);mScanning= true;mBluetoothAdapter.startLeScan(mLeScanCallback);} else{

mScanning= false;mBluetoothAdapter.stopLeScan(mLeScanCallback);}

}

}

BLE扫描结果的接口,下面是BluetoothAdapter.LeScanCallback的实现。可以获取到扫描到设备的蓝牙名称和蓝牙地址等。

privateBluetoothAdapter.LeScanCallback mLeScanCallback=

newBluetoothAdapter.LeScanCallback() {

@Overridepublic voidonLeScan(finalBluetoothDevice device, intrssi, byte[] scanRecord) {

runOnUiThread(newRunnable() {

@Overridepublic voidrun() {

device.getName();//获得扫描到设备名称device.getAddress();//获取设备蓝牙地址}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值