Android 9 原生设置关于蓝牙设置(一)

news/2024/10/18 16:53:52/

原生设置中关于蓝牙设置相关的类

BluetoothSettings.java

    该类是蓝牙配置和连接管理界面,就是咱们常见的蓝牙界面。它管理着蓝牙界面的加载,蓝牙搜索,蓝牙连接,蓝牙重命名等管理功能。(顺便借用一下大牛做的图片:https://www.cnblogs.com/dixonyy/p/4246057.html)
在这里插入图片描述

BluetoothEnable.java

    该类是蓝牙辅助类,用来管理蓝牙的开和关以及蓝牙状态的标题显示。如打开或关闭蓝牙的switchbar的状态和文本显示。

DeviceListPreferenceFragment.java

    该类是BluetoothSettings类的父类,是一个抽象类,该类包含了用于保存蓝牙设备的链表以及蓝牙。还包含蓝牙设备的一些回调方法。例如,蓝牙设备的删除、扫描状态的改变、蓝牙状态的改变等回调方法的实现。(回调接口所在的类:BluetoothCallback.java)

final WeakHashMap<CachedBluetoothDevice, BluetoothDevicePreference> mDevicePreferenceMap =
new WeakHashMap<CachedBluetoothDevice, BluetoothDevicePreference>();

    该变量保存的是用于显示的蓝牙设备集合,可以删除或添加相应的蓝牙设备。

CachedBluetoothDevice.java

    缓存蓝牙设备,该类代表了一个远程设备,它包含了蓝牙设备的一些属性(例如蓝牙地址,名字,信号强度等)。该类还可以进行蓝牙设备的连接、配对、断开连接等功能。

BluetoothDevice.java

    该类也代表了一个远程设备,但是与上面不同的是就相当与你买了一个水杯,水杯就是BluetothDevice,用包装盒包裹起来的就是CachedBluetoothDevice。

BluetoothDevicePreference.java

    该类是在设置界面显示蓝牙设备的偏好类型。点击界面上的配对、连接、断开就是在这操作的。

BluetoothAdapter.java

    蓝牙适配器,是蓝牙的总中枢,是蓝牙的起点。要想使用蓝牙必须要开启或关闭,它就是蓝牙的总开关。该类让你执行基本的蓝牙任务,例如:初始化发现设别,查询绑定/配对的设备,使用蓝牙MAC地址实例化一个BLuetoothDevice,创建一个BLuetoothServerSocket来监听来自其它蓝牙设备的请求连接,开始扫描蓝牙低功耗设备等等。

蓝牙事件管理BluetoothEventManager.java

    首先这里注册一个事件接收广播mContext.registerReceiver(mBroadcastReceiver, mAdapterIntentFilter);,用于接收底层驱动发来的广播。然后根据不同的action分发给不同的handler处理。这里的handler都需要通过addHandler函数保存到mHandlerMap中。然后在Handler中调用回调BluetoothCallback(接口),来交给ui上层处理。当然这里继承了BluetoothCallback接口的回调都是事先注册了的registerCallback。在设置中是DeviceListPreferenceFragment注册了。

LocalBluetoothAdapter.java

    蓝牙接口适配为本地的蓝牙接口适配器,为应用提供接口,同时调用BluetoothAdapter的接口,起到应用和底层的适配作用。

CachedBluetoothDeviceManager.java

    该类负责管理蓝牙的缓存(已配对的设备和搜索到的设备)主要都保存在List mCachedDevices中

LocalBluetoothProfileManager.java

    该类提供访问有效的蓝牙协议对象LocalBluetoothProfile

LocalBluetoothManager.java

    frameworks/base/packages/SettingsLib/src/com/android/settingslib/bluetooth/LocalBluetoothManager.java
    该类提供get接口供其他类使用,来获取蓝牙相关的LocalBluetoothProfileManager、BluetoothEventManager、CachedBluetoothDeviceManager、LocalBluetoothAdapter、BluetoothDiscoverableEnabler对象。可以理解为一个封装类。


http://www.ppmy.cn/news/836861.html

相关文章

HC-06蓝牙模块设置和使用方法

HC-06的设置方法 1.给蓝牙上电 给HC-06上电之后&#xff0c;HC-06的指示灯会不停地闪烁&#xff0c;这个时候就标志着进入AT模式了 2.有线串口连接 这时&#xff0c;可以选择有线串口连接的方式&#xff0c;将单片机和电脑连接起来&#xff0c;假设使用的是51开发板 3.蓝牙引脚…

Android 9 原生设置关于蓝牙设置(四)

蓝牙打开后Setting界面变化及蓝牙搜索 参考&#xff1a;蓝牙扫描流程 蓝牙打开后&#xff0c;BluetoothManagerService发出BluetoothAdapter.ACTION_STATE_CHANGED广播&#xff0c;Setting应用里面有很多地方注册接收该广播。其中settings/bluetooth/BluetoothEventManager.ja…

CSR8811蓝牙音频发射一拖二解决方案

随着蓝牙技术的发展以及市场产品的多样化&#xff0c;越来越多的产品及应用场景需要用到蓝牙音频发射&#xff0c;比如后装车载中控、电摩仪表、便携式CD/DVD市场等。车载中控不拆原车主机&#xff0c;改装的系统声音通过蓝牙模块发射给原车主机&#xff0c;声音从原车功放输出…

如何把你的蓝牙耳机同时同地给两台不同的设备使用

如何让两台设备同时使用同一个蓝牙耳机 问题描述操作说明声明 问题描述 当你和舍友一起去跑步或者是一起去图书馆学习&#xff0c;但是只带了一副耳机&#xff0c;这个时候怎么办&#xff0c;如何让你们两个的播放设备都能连接这副耳机的其中一个&#xff0c;且播放各自的内容…

蓝牙设置和实现

蓝牙 为了让支持蓝牙的设备能够在彼此之间传输数据&#xff0c;它们必须先通过配对过程形成通信通道。其中一台设备&#xff08;可检测到的设备&#xff09;需将自身设置为可接收传入的连接请求。另一台设备会使用服务发现过程找到此可检测到的设备。在可检测到的设备接受配对…

设置蓝牙主从机上电自动配对的方法

有时候&#xff0c;我们希望蓝牙的主机在上电之后自动完成与从机的连接&#xff0c;而无需在每次上电后都发送一些AT指令来完成主从机的配对&#xff0c;该怎么做呢&#xff1f; 1、首先完成从机的设置&#xff1a; ATROLE0 //设置为从机 ATPSWDxxxx //xxxx是配对密码&#xff…

蓝牙(一)蓝牙设置详解

一.蓝牙相关的类 1&#xff09;BluetoothSettings.java 该类是蓝牙配置和连接管理界面&#xff0c;就是咱们常见的蓝牙界面。它管理着蓝牙界面的加载&#xff0c;蓝牙搜索&#xff0c;蓝牙连接&#xff0c;蓝牙重命名等管理功能。(顺便借用一下大牛做的图片&#xff1a;https:/…

软件工程——第12章面向对象实现知识点整理

本专栏是博主个人笔记&#xff0c;主要目的是利用碎片化的时间来记忆软工知识点&#xff0c;特此声明&#xff01; 文章目录 1. 面向对象语言技术的特点&#xff1f; 2.选择面向对象程序设计语言时主要应该考虑哪些因素&#xff1f; 3.面向对象设计结果只能用面向对象语言实…