【Bluetooth】获取蓝牙地址的6种方法,及btnvtool工具使用

本文详细介绍了在Android系统中获取蓝牙设备地址的六种方法,包括从vendor location、系统属性、工厂属性、Modem NV、持久化存储以及自动生成。同时,提到了btnvtool工具的使用,并提供了相关代码示例。

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

1.蓝牙地址获取
android P:
获取方法是bluetooth_address.cpp里面
vendor/qcom/proprietary/bluetooth/hidl_transport/bt/1.0/default/bluetooth_address.cpp

bool BluetoothAddress::GetLocalAddress(uint8_t *local_addr)
{
char property[PROPERTY_VALUE_MAX] = { 0 };
bool valid_bda = false;

// Get addr from vendor location
if (fetch_vendor_addr(local_addr)) {
valid_bda = true;
}
// Get local bdaddr storage path from a system property.
if (!valid_bda && property_get(PROPERTY_BT_BDADDR_PATH, property, NULL)) {
int addr_fd;

ALOGV("%s: Trying %s", __func__, property);

addr_fd = open(property, O_RDONLY);
if (addr_fd != -1) {
int bytes_read = read(addr_fd, property, kStringLength);
CHECK(bytes_read == kStringLength);
close(addr_fd);

// Null terminate the string.
property[kStringLength] = '\0';

// If the address is not all

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值