android蓝牙默认名称显示

QC平台蓝牙名称默认都是QCOM-BTD,各家ODM需要定制设备名称。

1.总makefile添加宏

build/make/core/Makefile
 			PRODUCT_NAME="$(TARGET_PRODUCT)" \
+			BLUETOOTH_NAME="$(BLUETOOTH_NAME)" \
 			PRODUCT_BRAND="$(PRODUCT_BRAND)" \

...

2.添加属性

build/make/tools/buildinfo.sh
 echo "# autogenerated by buildinfo.sh"
 
 echo "ro.build.id=$BUILD_ID"
+if [ -n "$BLUETOOTH_NAME" ] ; then
+  echo "ro.bluetooth.name=$BLUETOOTH_NAME"
+else
+  echo "ro.bluetooth.name=$PRODUCT_MODEL"
+fi
 echo "ro.build.display.id=$BUILD_DISPLAY_ID"
 echo "ro.build.version.incremental=$BUILD_NUMBER"

3.对应的项目makefile添加值

device/qcom/msm8953_64/msm8953_64.mk
PRODUCT_MODEL := msm8953 for arm64
+BLUETOOTH_NAME := C7000
 
 PRODUCT_BOOT_JARS += tcmiface

4.实现部分

system/bt/btif/src/btif_dm.cc
Index: system/bt/btif/src/btif_dm.cc
===================================================================
--- system/bt/btif/src/btif_dm.cc	(版本 251)
+++ system/bt/btif/src/btif_dm.cc	(工作副本)
@@ -107,6 +107,11 @@
 #define ENCRYPTED_BREDR 2
 #define ENCRYPTED_LE 4
 
+#define USE_PROPERTY_BLUETOOTH_NAME
+#define PROPERTY_BLUETOOTH_NAME "ro.bluetooth.name"
+
 typedef struct {
   bt_bond_state_t state;
   RawAddress static_bdaddr;
@@ -3183,6 +3188,12 @@
 static char* btif_get_default_local_name() {
   if (btif_default_local_name[0] == '\0') {
     int max_len = sizeof(btif_default_local_name) - 1;
+#ifdef USE_PROPERTY_BLUETOOTH_NAME
+    char prop_name[PROPERTY_VALUE_MAX];
+    osi_property_get(PROPERTY_BLUETOOTH_NAME, prop_name, "");
+    strncpy(btif_default_local_name, prop_name, max_len);
+#else
     if (BTM_DEF_LOCAL_NAME[0] != '\0') {
       strncpy(btif_default_local_name, BTM_DEF_LOCAL_NAME, max_len);
     } else {
@@ -3190,6 +3201,8 @@
       osi_property_get(PROPERTY_PRODUCT_MODEL, prop_model, "");
       strncpy(btif_default_local_name, prop_model, max_len);
     }
+#endif
     btif_default_local_name[max_len] = '\0';
   }
   return btif_default_local_name;

注意,这里有个坑,由于我们使用的是高通平台,所以修改的文件目录在:
./vendor/qcom/opensource/commonsys/system/bt/btif/src/btif_dm.cc
编译libbluetooth_qti或者libbluetooth_qti_32

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值