这里/bdroid_buildcfg.h是给一个默认名称
在btif_dm_on_disable中走到else判断里面,后面就是获取蓝牙mac地址, 然后获取后4位,然后修改蓝牙名称了
diff --git a/alps/device/mediateksample/xxxx/bluetooth/bdroid_buildcfg.h b/alps/device/mediateksample/xxxx/bluetooth/bdroid_buildcfg.h
index 3cdb0c811f..473fb6be3f 100755
--- a/alps/device/mediateksample/xxxx/bluetooth/bdroid_buildcfg.h
+++ b/alps/device/mediateksample/xxxx/bluetooth/bdroid_buildcfg.h
@@ -25,6 +25,7 @@
*
*/
+#define BTM_DEF_LOCAL_NAME "XUNYE_Modem"
#define BTA_DM_COD {0x24, 0x04, 0x1C}
diff --git a/alps/system/bt/btif/src/btif_dm.cc b/alps/system/bt/btif/src/btif_dm.cc
index b0e237d052..fd1a9165b3 100644
--- a/alps/system/bt/btif/src/btif_dm.cc
+++ b/alps/system/bt/btif/src/btif_dm.cc
@@ -40,6 +40,7 @@
#include <unistd.h>
#include <mutex>
+#include <algorithm>
#include <bluetooth/uuid.h>
#include <hardware/bluetooth.h>
@@ -3409,8 +3410,9 @@ void btif_dm_on_disable() {
void btif_dm_read_energy_info() { BTA_DmBleGetEnergyInfo(bta_energy_info_cb); }
static char* btif_get_default_local_name() {
+ int max_len = sizeof(btif_default_local_name) - 1;
if (btif_default_local_name[0] == '\0') {
- int max_len = sizeof(btif_default_local_name) - 1;
+ //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 {
@@ -3419,6 +3421,15 @@ static char* btif_get_default_local_name() {
strncpy(btif_default_local_name, prop_model, max_len);
}
btif_default_local_name[max_len] = '\0';
+ }else{
+ RawAddress local_bd_addr = *controller_get_interface()->get_address();
+ std::string addrstr = local_bd_addr.ToString();
+ transform(addrstr.begin(), addrstr.end(), addrstr.begin(), ::toupper);
+ std::string addrstr2 = "XUNYE_"+addrstr.substr(addrstr.length()-5,2)+addrstr.substr(addrstr.length()-2);
+ const char* bdstr = addrstr2.c_str();
+ LOG_INFO(LOG_TAG, "btif_get_default_local_name %s: ", bdstr);
+ strncpy(btif_default_local_name, bdstr, max_len);
+ btif_default_local_name[max_len] = '\0';
}
return btif_default_local_name;
}
最后出来的名字就是XUNYE_XXXX;