知识点:
经典蓝牙(Classic Bluetooth)& 低功耗蓝牙(Bluetooth Low Energy)
-
经典蓝牙可以用与数据量比较大的传输,如语音,音乐,较高数据量传输等。
-
BLE 特点就如其名,功耗更低的同时,对数据包做出了限制。所以适用于实时性要求比较高,但是数据速率比较低的产品,如鼠标,键盘,传感设备的数据发送等。
蓝牙 4.0 支持单模和双模两种部署方式,其中单模即是我们说的 BLE,而双模指的是 Classic Bluetooth + BLE 。
实际上,BLE 和经典蓝牙的使用等各方面都像是没有关联的两个东西,甚至因为 BLE 的通讯机制不同,所以是不能向下兼容的;经典蓝牙则可以兼容到蓝牙 3.0 / 2.1。
参考 :https://www.jianshu.com/p/634b4f7154bc
(本篇文章很全,也有代码,可以参考)
开发代码:
权限:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
广播接收者,用于接收蓝牙广播:
class BluetoothReceive(bleListener: BleListener) : BroadcastReceiver() {
private val mBleListener: BleListener = bleListener
override fun onReceive(context: Context?, intent: Intent) {
val action = intent.action
if (action == BluetoothDevice.ACTION_FOUND) {
val device =
intent.getParcelableExtra<BluetoothDevice>(BluetoothDevice.EXTRA_DEVICE)
val ssi = intent.extras!!.getShort(BluetoothDevice.EXTRA_RSSI)
val deviceClass = device!!.bluetoothClass.majorDeviceClass
mBleListener.onBleScanListener(device, deviceClass, ssi)
} else if (action == BluetoothAdapter.ACTION_DISCOVERY_FINISHED) {
mBleListener.onScanFinish()
}
}
}
回调:
interface BleListener {
/**
* BLE设备回调
* @para

本文详细介绍了经典蓝牙与低功耗蓝牙(BLE)的特点和应用场景。经典蓝牙适用于高数据量传输如语音和音乐,而BLE适合实时性要求高但数据速率低的设备如鼠标和传感器。蓝牙4.0支持单模(BLE)和双模(经典蓝牙+BLE)。代码示例展示了如何在Android中进行蓝牙设备的扫描、连接和数据交互。注意,BLE与经典蓝牙不兼容,且断开连接时需调用close()方法以避免重连问题。

3821

被折叠的 条评论
为什么被折叠?



