bt 打开关闭

本文深入探讨了蓝牙设备的管理、配置与交互过程,包括蓝牙的开启与关闭、搜索功能、名称设置、连接与配对操作。通过解析关键类与方法的作用,详细解释了如何在应用程序中实现这些功能。

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

 

BT Turn on Turn off

蓝牙的打开关闭由类BluetoothEnabler控制。触发点击使调用LocalBluetoothManager.setBluetoothEnabled(enable)。再调用到BluetoothAdapter的enable() 。蓝牙的打开关闭属于异步操作,操作成功后会有一个异步事件ACTION_STATE_CHANGED返回,异步事件由类BluetoothEventRedirector控制。

在收到ACTION_STATE_CHANGED次异步事件后,还需要做update本地设备profile的事情,以及读取上次关闭前搜索到的蓝牙设备。具体参考代码

涉及到的类:

LocalBluetoothManager(本机蓝牙设备管理,开启关闭,搜索等等)
BluetoothEnabler(界面的点击和状态文字的显示)
BluetoothAdapter(framework封装的类,提供本地蓝牙设备的配置,包括开启蓝牙,搜索周围蓝牙设备,设置本地蓝牙可见性)

Discoverable

蓝牙的discoverable mode由类BluetoothDiscoverableEnabler控制。触发点击使调用setEnabled(true)。再调用到BluetoothAdapter的setScanMode () 方法。具体参考代码

蓝牙模式有两种模式SCAN_MODE_CONNECTABLE_DISCOVERABLE(可连接可发现)和SCAN_MODE_CONNECTABLE(可连接但不可发现)

•涉及到的类:

LocalBluetoothManager(本机蓝牙设备管理,开启关闭,搜索等等)
 BluetoothDiscoverableEnabler (界面的点击和状态文字的显示)
BluetoothAdapter(framework封装的类,提供本地蓝牙设备的配置,包括开启蓝牙,搜索周围蓝牙设备,设置本地蓝牙可见性)

Local BT Rename

蓝牙本地名称设置由类BluetoothNamePreference控制。会调用到BluetoothAdapter的setName () 。

涉及到的类:

BluetoothNamePreference (界面的点击和状态文字的显示)
BluetoothAdapter(framework封装的类,提供本地蓝牙设备的配置,包括开启蓝牙,搜索周围蓝牙设备,设置本地蓝牙可见性)


Scan BT Device

蓝牙的搜索由类BluetoothFindNearby控制。触发点击使调用LocalBluetoothManager. startScanning(true)。

•在BluetoothSetting里触发点击,调用LocalBluetoothManager.startScanning(true)函数,通过BluetoothAdapter的startDiscovery调用到BluetoothService里的startDiscovery服务。

startDiscovery()是个异步函数,会立即返回,通过注册ACTION_DISCOVERY_STARTED、ACTION_DISCOVERY_FINISHED、ACTION_FOUND,来确定当前的状态。当收到ACTION_FOUND这个异步事件后,就可以确认搜索到的蓝牙设备的rssi, btClass, name。然后再把这些设备用CachedBluetoothDeviceManager这个类管理。
•涉及到的类:同蓝牙开启关闭涉及到的类。


Connection & Pair


在setting界面点击连接,会调到CachedBluetoothDevice(搜索到的设备)类的connect方法,在connectInt里,根据不同的profile来获得profilemanger,然后调用 profilemanger.connect()函数。此处的链接会涉及到的profile有A2DP AVRCP DUN HSP HFP 等。

同理如果配对或者解除配对,也会调到CachedBluetoothDevice类的pair()方法和unpair()。

说明: CachedBluetoothDevice 描述的搜索到的设备

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值