1.目前的现象:蓝牙名称=设备名称(ro.product.model)
2.需求蓝牙名称 = (SN第一位)+型号(ro.product.model)4位+SN后三位//SN序列号是变化的,由写号工具烧写
例如:ro.product.model = TEST
SN:123456789ABCD
那么蓝牙名称 = 1TESTBCD
3.分析:在网上查找默认蓝牙名称都是固定的ro.product.model,应该是有调用的地方。经过网上搜索,确定是在system/bt/btif/src/btif_dm.cc调用
查看代码
#define NUM_TIMEOUT_RETRIES 5
#define PROPERTY_PRODUCT_MODEL "ro.product.model"
#define DEFAULT_LOCAL_NAME_MAX 31
......
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, "");