首页 理论教育 Android蓝牙开发步骤详解

Android蓝牙开发步骤详解

时间:2023-06-27 理论教育 版权反馈
【摘要】:蓝牙操作的步骤如下。该函数若返回True,表示关闭操作成功;返回False,表示蓝牙操作失败。直接调用BluetoothAdapter类函数即startDiscovery()即可,返回值为Boolean,需要注意的是,如果蓝牙没有开启,该方法会返回False,即不会开始扫描过程。public static boolean checkBluetoothAddress用于验证蓝牙设备MAC地址是否有效。例如,通过BluetoothAdapter类对象的getBondedDevices()获取连接的蓝牙设备集合,然后加入到List数组,代码如下。public BluetoothDevice getRemoteDevice该段代码以给定的MAC地址创建一个BluetoothDevice类实例。

Android蓝牙开发步骤详解

BluetoothAdapter类简单来说代表了本设备(手机电脑等)的蓝牙适配器对象,通过它可以操作蓝牙设备,主要有如下功能:(1)开关蓝牙设备;(2)扫描蓝牙设备;(3)设置/获取蓝牙状态信息,例如蓝牙状态值、蓝牙Name、蓝牙Mac地址等。

蓝牙操作的步骤如下。

(1)获得蓝牙适配器实例,代码如下。

如果设备具备蓝牙功能,则返回BluetoothAdapter实例;否则,返回Null对象。

例如:BluetoothAdapter mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter()

(2)打开蓝牙。

978-7-111-58810-8-Chapter10-26.jpg直接调用BluetoothAdapter类成员函数enable()打开蓝牙设备。

978-7-111-58810-8-Chapter10-27.jpg系统API打开蓝牙设备,该方式会弹出一个对话框样式的Activity,供用户选择是否打开蓝牙设备。需要注意的是如果蓝牙已经开启,不会弹出该Activity界面。

例如:

(3)关闭蓝牙。

直接调用BluetoothAdapter类函数即disable()即可。该函数若返回True,表示关闭操作成功;返回False,表示蓝牙操作失败。

(4)扫描蓝牙设备。

直接调用BluetoothAdapter类函数即startDiscovery()即可,返回值为Boolean,需要注意的是,如果蓝牙没有开启,该方法会返回False,即不会开始扫描过程。

要获得此搜索的结果需要先注册,以获取一个BroadcastReceiver。先注册再获取信息,然后进行处理,代码如下。

(5)获取蓝牙相关信息。

public String getName()用于获取蓝牙设备名称。(www.xing528.com)

public String getAddress()用于获取蓝牙设备的硬件地址(MAC地址),例如:00:11:22:AA:BB:CC。

public String getScanMode()用于获取蓝牙设备的扫描模式。

public static boolean checkBluetoothAddress(String address)用于验证蓝牙设备MAC地址是否有效。所有设备地址的英文字母必须大写,且为48位,例如00:43:A8:23:10:F1。

返回值为True,表示设备地址有效;返回值为False,表示设备地址无效。

例如:btDesc.setText("Name:"+mBluetoothAdapter.getName()+"Address:"+mBluetoothAdapter.getAddress()+"ScanMode--"+mBluetoothAdapter.getScanMode())。

(6)获取与本机绑定的蓝牙信息,代码如下。

public Set<BluetoothDevice>getBondedDevices()

获取与本机蓝牙所有绑定的远程蓝牙信息,以BluetoothDevice类实例返回。如果蓝牙为开启状态,该函数会返回一个空集合。

BluetoothDevice对象代表一个远程的蓝牙设备,通过这个类可以查询远程设备的物理地址、名称、连接状态等信息。

例如,通过BluetoothAdapter类对象的getBondedDevices()获取连接的蓝牙设备集合,然后加入到List数组,代码如下。

(7)获取给定蓝牙地址的设备,代码如下。

public BluetoothDevice getRemoteDevice(String address)

该段代码以给定的MAC地址创建一个BluetoothDevice类实例(代表远程蓝牙实例)。返回BluetoothDevice类实例。需要注意的是,如果该蓝牙设备MAC地址不能被识别,其蓝牙Name为null。

(8)在项目配置文件app/src/AndroidManifest.xml中添加相应权限。

需要开启定位权限才能搜索到附近的蓝牙设备,代码如下。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈