当前位置: 首页 > news >正文

网站新闻不添加关键词超链接对优化有影响吗网站建设公司地址在哪

网站新闻不添加关键词超链接对优化有影响吗,网站建设公司地址在哪,手机网站建设选 朗创营销,婚礼工作室网站模板DeviceProperties、AdapterProperties、StorageModule、以及 bt_config.conf 是 AOSP Bluetooth 栈中 设备属性管理与持久化系统 的核心组成部分,它们之间关系紧密,但职责各有不同。 下面我将依次讲解它们的区别与联系. 注意: 在代码里面 还有 Blueto…

DevicePropertiesAdapterPropertiesStorageModule、以及 bt_config.conf 是 AOSP Bluetooth 栈中 设备属性管理与持久化系统 的核心组成部分,它们之间关系紧密,但职责各有不同。

下面我将依次讲解它们的区别与联系.

注意:

  • 在代码里面 还有 BluetoothProperties : 他是管理 蓝牙相关的系统属性的, 和本文讨论的 DevicePropertiesAdapterProperties 不是同一个话题。
  • 有兴趣可以参看: 【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. 核心组件职责概览

模块职责管理对象是否与存储直接交互
AdapterProperties管理本地蓝牙适配器的属性(如:名称、可发现性、IO能力)本地适配器✅ 是,会调用 StorageModule
DeviceProperties管理单个远程设备的属性(如名称、RSSI、UUID、版本信息等)每个远程设备一套✅ 是,会调用 StorageModule
StorageModule抽象了属性的持久化与加载逻辑,负责读写 bt_config.conf存储本地和远程设备属性✅ 是,底层对 bt_config.conf 读写
bt_config.conf配置文件,持久化存储蓝牙设备属性(ini 格式)适配器/已配对的远程设备✅ 是,由 StorageModule 管理

2. 各模块职责与交互细节

1. AdapterProperties

  • 对应的是本地蓝牙适配器的属性,如:

    • 本地蓝牙名 (BT_PROPERTY_BDNAME)

    • 适配器地址 (BT_PROPERTY_BDADDR)

    • 可发现性 (BT_PROPERTY_ADAPTER_SCAN_MODE)

    • LE 特性等

  • 存储方式:

    • 初始化时从 StorageModule 读取对应项

    • 修改时(如用户改蓝牙名)通过 StorageModule 写入 bt_config.conf[Adapter]


2. DeviceProperties

  • 对应每一个远程设备(配对或曾连接)的属性,如:

    • 名称、RSSI、UUID、版本、是否支持某功能等

    • 这些属性通过扫描、配对、连接等过程获得

  • 管理方式:

    • 每个远程设备维护一个 DeviceProperties 实例(以地址为 key)

    • 当发现设备、连接、配对或服务发现后更新属性

  • 写入存储:

    • 只有绑定/配对成功的设备才会写入

      • 如果一个设备只是在扫描时被发现,会创建一个 临时的 DeviceProperties,保存在内存中。 掉电或者开关蓝牙时将丢失。
    • 这些属性会保存到 bt_config.conf[RemoteDevice] 节,例如:

[RemoteDevice00:11:22:33:44:55]
Name=MyHeadphones
DevType=1
Service=180A 112D ...

3. StorageModule

  • 提供统一接口负责蓝牙配置的持久化与读取。

  • 核心功能:

    • 加载/保存本地适配器属性

    • 加载/保存配对设备属性

    • 支持迁移、同步、回写等操作

  • 底层调用 config.cc 进行 ini 格式文件操作。

我之前写过一篇 关于 StorageModule 模块的文章,需要 可以查阅:

  • 【android bluetooth 框架分析 02】【Module详解 6】【StorageModule 模块介绍】

4. bt_config.conf 文件

  • 位置:/data/misc/bluedroid/bt_config.conf

  • 权限:系统组件访问,普通 APP 不可读

  • 结构:

[Adapter]
Address=00:11:22:33:AA:BB
Name=CarBluetooth
ScanMode=1
DiscoverableTimeout=120[RemoteDevice11:22:33:44:55:66]
Name=Phone
DevType=1
Service=110A 110B

3. 关键问题:扫描到的未配对设备会写入 bt_config.conf 吗?

扫描到的未配对设备会写入 bt_config.conf 吗?

不会!

  • 当仅仅是扫描(inquiry/discovery)到一个设备时,系统可能会临时创建该设备的 DeviceProperties 实例,但不会写入 bt_config.conf

  • 只有以下情形会触发写入:

    • 配对成功

    • 某些属性需要持久化(如用户手动设置了设备名等)

    • 有实际连接历史 + 存储条件满足(具体由 DeviceManager::Add 判断)

1. 临时设备属性的生命周期:

  • 临时创建的 DeviceProperties 保存在内存中

  • 断电或重启后不保留

  • 若用户未配对该设备,这些属性不会持久化


4. 模块关系图示意

+-----------------+
| AdapterProperties (本地适配器属性)
+-----------------+|v
+-----------------+
| StorageModule   | <-------> bt_config.conf (持久化存储)
+-----------------+^|
+------------------+
| DeviceProperties (远程设备属性)
| -- 每个设备一套 --
+------------------+

5. 我们 源码里面都定义了那些属性呢?

1. java 侧的属性表

  • android/app/src/com/android/bluetooth/btservice/AbstractionLayer.java
    static final int BT_PROPERTY_BDNAME = 0x01;static final int BT_PROPERTY_BDADDR = 0x02;static final int BT_PROPERTY_UUIDS = 0x03;static final int BT_PROPERTY_CLASS_OF_DEVICE = 0x04;static final int BT_PROPERTY_TYPE_OF_DEVICE = 0x05;static final int BT_PROPERTY_SERVICE_RECORD = 0x06;static final int BT_PROPERTY_ADAPTER_SCAN_MODE = 0x07;static final int BT_PROPERTY_ADAPTER_BONDED_DEVICES = 0x08;static final int BT_PROPERTY_ADAPTER_DISCOVERABLE_TIMEOUT = 0x09;static final int BT_PROPERTY_REMOTE_FRIENDLY_NAME = 0x0A;static final int BT_PROPERTY_REMOTE_RSSI = 0x0B;static final int BT_PROPERTY_REMOTE_VERSION_INFO = 0x0C;static final int BT_PROPERTY_LOCAL_LE_FEATURES = 0x0D;static final int BT_PROPERTY_LOCAL_IO_CAPS = 0x0e;static final int BT_PROPERTY_LOCAL_IO_CAPS_BLE = 0x0f;static final int BT_PROPERTY_DYNAMIC_AUDIO_BUFFER = 0x10;static final int BT_PROPERTY_REMOTE_IS_COORDINATED_SET_MEMBER = 0x11;

2. native 属性表

bt_property_type_t

  • system/include/hardware/bluetooth.h
/* Bluetooth Adapter and Remote Device property types */
typedef enum {/* Properties common to both adapter and remote device *//*** Description - Bluetooth Device Name* Access mode - Adapter name can be GET/SET. Remote device can be GET* Data type   - bt_bdname_t*/BT_PROPERTY_BDNAME = 0x1,/*** Description - Bluetooth Device Address* Access mode - Only GET.* Data type   - RawAddress*/BT_PROPERTY_BDADDR,/*** Description - Bluetooth Service 128-bit UUIDs* Access mode - Only GET.* Data type   - Array of bluetooth::Uuid (Array size inferred from property*               length).*/BT_PROPERTY_UUIDS,/*** Description - Bluetooth Class of Device as found in Assigned Numbers* Access mode - Only GET.* Data type   - uint32_t.*/BT_PROPERTY_CLASS_OF_DEVICE,/*** Description - Device Type - BREDR, BLE or DUAL Mode* Access mode - Only GET.* Data type   - bt_device_type_t*/BT_PROPERTY_TYPE_OF_DEVICE,/*** Description - Bluetooth Service Record* Access mode - Only GET.* Data type   - bt_service_record_t*/BT_PROPERTY_SERVICE_RECORD,/* Properties unique to adapter *//*** Description - Bluetooth Adapter scan mode* Access mode - GET and SET* Data type   - bt_scan_mode_t.*/BT_PROPERTY_ADAPTER_SCAN_MODE,/*** Description - List of bonded devices* Access mode - Only GET.* Data type   - Array of RawAddress of the bonded remote devices*               (Array size inferred from property length).*/BT_PROPERTY_ADAPTER_BONDED_DEVICES,/*** Description - Bluetooth Adapter Discoverable timeout (in seconds)* Access mode - GET and SET* Data type   - uint32_t*/BT_PROPERTY_ADAPTER_DISCOVERABLE_TIMEOUT,/* Properties unique to remote device *//*** Description - User defined friendly name of the remote device* Access mode - GET and SET* Data type   - bt_bdname_t.*/BT_PROPERTY_REMOTE_FRIENDLY_NAME,/*** Description - RSSI value of the inquired remote device* Access mode - Only GET.* Data type   - int8_t.*/BT_PROPERTY_REMOTE_RSSI,/*** Description - Remote version info* Access mode - SET/GET.* Data type   - bt_remote_version_t.*/BT_PROPERTY_REMOTE_VERSION_INFO,/*** Description - Local LE features* Access mode - GET.* Data type   - bt_local_le_features_t.*/BT_PROPERTY_LOCAL_LE_FEATURES,/*** Description - Local Input/Output Capabilities for classic Bluetooth* Access mode - GET and SET* Data Type - bt_io_cap_t.*/BT_PROPERTY_LOCAL_IO_CAPS,/*** Description - Local Input/Output Capabilities for BLE* Access mode - GET and SET* Data Type - bt_io_cap_t.*/BT_PROPERTY_LOCAL_IO_CAPS_BLE,BT_PROPERTY_DYNAMIC_AUDIO_BUFFER,/*** Description - True if Remote is a Member of a Coordinated Set.* Access mode - GET.* Data Type - bool.*/BT_PROPERTY_REMOTE_IS_COORDINATED_SET_MEMBER,BT_PROPERTY_REMOTE_DEVICE_TIMESTAMP = 0xFF,
} bt_property_type_t;

3. 属性使用场景介绍

1. AdapterProperties 和 DeviceProperties 共同使用

枚举常量说明使用范围数据类型访问权限
🔁 适用于 Adapter 和 Remote Device
BT_PROPERTY_BDNAME设备名称Adapter: 读/写Remote Device: 只读bt_bdname_tGET / SET(Adapter)GET(Remote)
BT_PROPERTY_BDADDR设备地址Adapter & Remote DeviceRawAddressGET
BT_PROPERTY_UUIDS支持的服务 UUID 列表Remote Devicebluetooth::Uuid[]GET
BT_PROPERTY_CLASS_OF_DEVICE类别码Remote Deviceuint32_tGET
BT_PROPERTY_TYPE_OF_DEVICE设备类型(BR/EDR/LE)Remote Devicebt_device_type_tGET
BT_PROPERTY_SERVICE_RECORD服务记录Remote Devicebt_service_record_tGET

2. 仅 AdapterProperties 使用

枚举常量说明使用范围数据类型访问权限
🧭 仅适用于 Adapter(本地适配器)
BT_PROPERTY_ADAPTER_SCAN_MODE扫描模式(可发现性)Adapterbt_scan_mode_tGET / SET
BT_PROPERTY_ADAPTER_BONDED_DEVICES已绑定设备地址列表AdapterRawAddress[]GET
BT_PROPERTY_ADAPTER_DISCOVERABLE_TIMEOUT可发现超时时间Adapteruint32_tGET / SET
BT_PROPERTY_LOCAL_LE_FEATURES本地 LE 特性Adapterbt_local_le_features_tGET
BT_PROPERTY_LOCAL_IO_CAPS本地 IO 能力(经典蓝牙)Adapterbt_io_cap_tGET / SET
BT_PROPERTY_LOCAL_IO_CAPS_BLE本地 IO 能力(BLE)Adapterbt_io_cap_tGET / SET
BT_PROPERTY_DYNAMIC_AUDIO_BUFFER音频缓冲设置(动态)Adapter自定义类型(未明确)

3. 仅 DeviceProperties 使用

枚举常量说明使用范围数据类型访问权限
📡 仅适用于 Remote Device(远程设备)
BT_PROPERTY_REMOTE_FRIENDLY_NAME远程设备名称(用户设定)Remote Devicebt_bdname_tGET / SET
BT_PROPERTY_REMOTE_RSSI远程设备 RSSIRemote Deviceint8_tGET
BT_PROPERTY_REMOTE_VERSION_INFO远程设备协议版本信息Remote Devicebt_remote_version_tGET / SET
BT_PROPERTY_REMOTE_IS_COORDINATED_SET_MEMBER是否是协同设备成员Remote DeviceboolGET
BT_PROPERTY_REMOTE_DEVICE_TIMESTAMP属性刷新时间戳Remote Deviceint64_t(或自定义)GET

4. 小结

分类枚举项
Adapter 专属属性ADAPTER_SCAN_MODE, ADAPTER_BONDED_DEVICES, ADAPTER_DISCOVERABLE_TIMEOUT, LOCAL_LE_FEATURES, LOCAL_IO_CAPS, LOCAL_IO_CAPS_BLE, DYNAMIC_AUDIO_BUFFER
Remote Device 专属属性REMOTE_FRIENDLY_NAME, REMOTE_RSSI, REMOTE_VERSION_INFO, REMOTE_IS_COORDINATED_SET_MEMBER, REMOTE_DEVICE_TIMESTAMP, CLASS_OF_DEVICE, TYPE_OF_DEVICE, SERVICE_RECORD, UUIDS
Adapter 与 Remote 共用属性BDNAME, BDADDR

6. 总结重点

关键点说明
AdapterProperties管理本地适配器的属性,初始化时加载并可写入 bt_config.conf
DeviceProperties管理远程设备属性,仅在配对后写入 bt_config.conf
StorageModule所有属性存储的中间桥梁
bt_config.conf存储持久化蓝牙信息的文件,位于 /data/misc/bluedroid
扫描行为是否写入文件?❌ 不会,只有绑定/配对设备才写入

接下来我会出单独的文章来总结 DevicePropertiesAdapterProperties.

敬请期待!!!


文章转载自:
http://dinncoastrometer.stkw.cn
http://dinncomasterplan.stkw.cn
http://dinncostoryteller.stkw.cn
http://dinncoconamore.stkw.cn
http://dinncohereditarily.stkw.cn
http://dinncobracing.stkw.cn
http://dinncohabituate.stkw.cn
http://dinncowindhoek.stkw.cn
http://dinncocamping.stkw.cn
http://dinncoasroc.stkw.cn
http://dinncotrireme.stkw.cn
http://dinncoacalculia.stkw.cn
http://dinncobloat.stkw.cn
http://dinncosamoa.stkw.cn
http://dinncolathyrism.stkw.cn
http://dinncototality.stkw.cn
http://dinncounmaidenly.stkw.cn
http://dinncotensegrity.stkw.cn
http://dinncoboanerges.stkw.cn
http://dinncozikurat.stkw.cn
http://dinncoforficulate.stkw.cn
http://dinncooverleap.stkw.cn
http://dinncopenetrative.stkw.cn
http://dinncogluttony.stkw.cn
http://dinncoendgate.stkw.cn
http://dinncoderwent.stkw.cn
http://dinncoproctorial.stkw.cn
http://dinncooppositional.stkw.cn
http://dinncopluriliteral.stkw.cn
http://dinncodimmer.stkw.cn
http://dinncorecharge.stkw.cn
http://dinncounwatched.stkw.cn
http://dinncoslunk.stkw.cn
http://dinncoundress.stkw.cn
http://dinncoplanetology.stkw.cn
http://dinncopremise.stkw.cn
http://dinncoplainsong.stkw.cn
http://dinncoichor.stkw.cn
http://dinncodetain.stkw.cn
http://dinncopluralise.stkw.cn
http://dinncohircine.stkw.cn
http://dinncoencyclopedism.stkw.cn
http://dinncorobustious.stkw.cn
http://dinncokier.stkw.cn
http://dinnconiobite.stkw.cn
http://dinncozapata.stkw.cn
http://dinncosenseless.stkw.cn
http://dinncophotopolarimeter.stkw.cn
http://dinncolakh.stkw.cn
http://dinncodysgenics.stkw.cn
http://dinncotriangularly.stkw.cn
http://dinncospilikin.stkw.cn
http://dinncolisterize.stkw.cn
http://dinncospherical.stkw.cn
http://dinncopyretology.stkw.cn
http://dinncoverboten.stkw.cn
http://dinncoman.stkw.cn
http://dinncopervasion.stkw.cn
http://dinncoferrimagnet.stkw.cn
http://dinncopenile.stkw.cn
http://dinncoinappellability.stkw.cn
http://dinncomoondown.stkw.cn
http://dinncoeyeblack.stkw.cn
http://dinncoerasmian.stkw.cn
http://dinncoaapamoor.stkw.cn
http://dinncowayang.stkw.cn
http://dinncopatroon.stkw.cn
http://dinncofrizette.stkw.cn
http://dinncoillusive.stkw.cn
http://dinncosarcology.stkw.cn
http://dinncomitre.stkw.cn
http://dinncobeadsman.stkw.cn
http://dinncoreassembly.stkw.cn
http://dinncogantelope.stkw.cn
http://dinncoecstasy.stkw.cn
http://dinncohitchhike.stkw.cn
http://dinncomonoclinic.stkw.cn
http://dinncoendorsement.stkw.cn
http://dinncooverload.stkw.cn
http://dinncophotoelectrotype.stkw.cn
http://dinncostubbornly.stkw.cn
http://dinncoanalogic.stkw.cn
http://dinncocolourbearer.stkw.cn
http://dinncobroken.stkw.cn
http://dinncopanzer.stkw.cn
http://dinncoamersfoort.stkw.cn
http://dinncoteletype.stkw.cn
http://dinncosuffuse.stkw.cn
http://dinncoariboflavinosis.stkw.cn
http://dinncodividual.stkw.cn
http://dinncoindurative.stkw.cn
http://dinncoitaliot.stkw.cn
http://dinncoenergic.stkw.cn
http://dinncoinexhaustibly.stkw.cn
http://dinncophotoshp.stkw.cn
http://dinncomuckle.stkw.cn
http://dinncopasticcio.stkw.cn
http://dinncorubout.stkw.cn
http://dinncohorseshoer.stkw.cn
http://dinncoeclamptic.stkw.cn
http://www.dinnco.com/news/116503.html

相关文章:

  • 做破解软件网站赚广告费网盟推广是什么意思
  • 建设一个公司的网站需要多少钱如何推广自己的店铺?
  • 做php网站阿里云服务器手机优化软件哪个好用
  • php做网站有哪些好处发帖平台
  • 日记网站的建设目的百度关键词优化是什么意思
  • html5网站特效谷歌推广怎么做最有效
  • 鄂尔多斯网站制作 建设网上怎么找人去推广广告
  • wordpress好看的背景图片南平网站seo
  • 最好看免费观看高清大全大江大河seo关键词库
  • 建筑钢模板搜索引擎优化结果
  • wordpress熊掌认证win优化大师有免费版吗
  • 宁夏百度网站怎么做百度免费安装下载
  • 做企业网站对企业的好处山东工艺美术学院网站建设公司
  • 东莞 网站 建设互联网营销师证书查询入口
  • 深圳专业定制建站公司哪个搜索引擎最好用
  • 网上商城系统概述广东seo推广贵不贵
  • wordpress横幅图像怎么优化标题和关键词排名
  • 个人网站推广方案站长交流平台
  • 淘宝做导航网站有哪些功能教育机构培训
  • h5网站制作接单网站入口
  • wordpress带充值站内seo内容优化包括
  • 江苏省住房与城乡建设部网站中和seo公司
  • 如何查询注册过的网站永久免费客服系统
  • 做pc端网站多少钱网站关键词怎么优化到首页
  • 维护网站信息网站指数查询
  • 网站空间带宽网站模板建站
  • 网站建设平台合同腾讯企点怎么注册
  • 工业设计网站设计免费网站制作app
  • 网站内优化怎么做直播:英格兰vs法国
  • 网站开发策划方案谷歌商店paypal三件套