Android——Bluetooth 开发(五)

本文详细介绍了Android平台上的蓝牙低功耗(BLE)开发,包括蓝牙4.0的双模和单模概念,蓝牙操作流程,如何判断蓝牙是否开启,获取蓝牙适配器并进行扫描,连接和控制BLE设备,数据传输,以及断开连接和关闭蓝牙的操作。同时,文章还解析了BluetoothGattCallback回调方法的重要性和使用场景。
摘要由CSDN通过智能技术生成

蓝牙 4.0

蓝牙4.0集成了传统蓝牙和低功耗蓝牙两个标准,所以蓝牙4.0有双模和单模之分。双模即传统蓝牙部分+低功耗蓝牙部分,单模即是单纯的低功耗蓝牙部分(BLE)。

蓝牙操作流程

蓝牙开发之前需要在 AndroidManifest.xml 中申请蓝牙相关权限

    <!-- 蓝牙相关权限 -->
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-feature
        android:name="android.hardware.bluetooth.le"
        android:required="true" />
    <!-- Android 6.0 需要申请位置权限 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

蓝牙操作基本可以分为五步:

  • 打开蓝牙
  • 扫描设备
  • 连接设备
  • 控制设备
  • 接收数据

Android BLE 相关功能及 API

说明

  • 服务:每个蓝牙设备,都有多个服务,每个服务都有不同的作用,我们可以根据蓝牙协议提供的 service uuid 找出 相应的service。
  • 特征值:蓝牙数据传输的载体。每个服务里包含多个特征值,每个特征值都有自己的特性(读、写或通知等)。

1、判断蓝牙是否打开

  • bluetoothAdapter.isEnabled(),true 蓝牙已打开;false 蓝牙未打开,需要跳转到设置页面打开蓝牙。
  • 跳转蓝牙设置页面,打开蓝牙

    Intent intent = new Intent(Settings.ACTION_BLUETOOTH_SETTINGS);
    startActivity(intent);

2、获取 bluetoothAdapter 并扫描蓝牙

蓝牙打开后,我们首先需要获取蓝牙适配器 bluetoothAdapter,获取蓝牙适配器后,就可以进行蓝牙扫描操作。

  • 获取 bluetoothAdapter
    public void openBle() {
        if (null != mBtAdapter) {
            return;
        }
        BluetoothManager manager = (BluetoothManager) mContext.getSystemService(BLUETOOTH_SERVICE);
        if (null != manager) {
            mBtAdapter = manager.getAdapter();
        }
        if (null == mBtAdapter) {
            mBtAdapter = BluetoothAdapter.getDefaultAdapter();
        }
        //设备不支持蓝牙功能
        if (mBtAdapter == 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值