默认名称获取(8.0代码)
- /system/bt/btif/src/btif_dm.cc
...
#define PROPERTY_PRODUCT_MODEL "ro.product.model"
...
static char btif_default_local_name[DEFAULT_LOCAL_NAME_MAX + 1] = {'\0'};
...
static char* btif_get_default_local_name() {
if (btif_default_local_name[0] == '\0') {
int max_len = sizeof(btif_default_local_name) - 1;
if (BTM_DEF_LOCAL_NAME[0] != '\0') {
strncpy(btif_default_local_name, BTM_DEF_LOCAL_NAME, max_len);
} else {
char prop_model[PROPERTY_VALUE_MAX];
osi_property_get(PROPERTY_PRODUCT_MODEL, prop_model, "");
strncpy(btif_default_local_name, prop_model, max_len);
}
btif_default_local_name[max_len] = '\0';
}
return btif_default_local_name;
}
方法一:
- device\mediatek\common\custom.conf
bluetooth.HostName = ANDROID BT 此处修改为所需要的蓝牙默认名称(6.0)
方法二:
- /system/bt/btif/src/btif_dm.c
btif_default_local_name[]数组的默认定义为空,如下 :
static char btif_default_local_name[DEFAULT_LOCAL_NAME_MAX+1] = {'\0'};
修改为需要客制化的名称,例如:My Bluetooth
static char btif_default_local_name[DEFAULT_LOCAL_NAME_MAX+1] = "My Bluetooth";
方法三:
前提条件: btif_default_local_name[] 数组的默认定义为空 static char btif_default_local_name[DEFAULT_LOCAL_NAME_MAX+1] = {’\0’};
- /device/generic/common/bluetooth/bdroid_buildcfg.h
#ifndef _BDROID_BUILDCFG_H
#define _BDROID_BUILDCFG_H
#define BTM_DEF_LOCAL_NAME "Android Bluedroid" //修改此处为自己需要的蓝牙默认名称
#endif
方法四:
前提条件: (1) btif_default_local_name[] 数组的默认定义为空
static char btif_default_local_name[DEFAULT_LOCAL_NAME_MAX+1] = {'\0'};
(2)/device/generic/common/bluetooth/bdroid_buildcfg.h文件中的蓝牙名称宏定义 BTM_DEF_LOCAL_NAME为空
#ifndef _BDROID_BUILDCFG_H
#define _BDROID_BUILDCFG_H
#define BTM_DEF_LOCAL_NAME "" //修改此处为空
#endif
修改方法: 满足上面的前置条件,此时默认的蓝牙名称会读取 ro.product.model 属性值作为蓝牙默认名称;
在文件/system/bt/btif/src/btif_dm.c中已经定义:
#define PROPERTY_PRODUCT_MODEL "ro.product.model"
* /build/tools/buildinfo.sh
echo "ro.product.model=$PRODUCT_MODE" 修改此处为自己需要的蓝牙默认名称