修改蓝牙默认名称的3种方法
 
方法一:
ALPS.L1.MP3.V2.21_TOP6753_65C_L1/
/system/bt/btif/src/btif_dm.c文件中,btif_default_local_name []数组的默认定义为空,如下:

static char btif_default_local_name[DEFAULT_LOCAL_NAME_MAX+1] = {'\0'};

修改为需要客制化的名称,例如:Bluetooth

static char btif_default_local_name[DEFAULT_LOCAL_NAME_MAX+1] = "Bluetooth";

 
方法二:

前提条件:

 btif_default_local_name [] 数组的默认定义为空

static char btif_default_local_name[DEFAULT_LOCAL_NAME_MAX+1] = {'\0'};

 

修改方法(1):修改/device/generic/common/bluetooth/bdroid_buildcfg.h文件中的蓝牙名称宏定义BTM_DEF_LOCAL_NAME  

#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) /system/bt/include/bt_target.h文件中的蓝牙名称宏定义BTM_DEF_LOCAL_NAME为空

#ifndef BTM_DEF_LOCAL_NAME
#define BTM_DEF_LOCAL_NAME      "" //修改此处为空

#endif

(3) /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"

在custom.conf文件通过bluetooth.HostName =@ro.product.model@ 来指定默认的蓝牙;

该property值的设置在:/device/mediatek/k35v1_64_op09_6m/custom.conf //k35v1_64_op09_6m为项目的名称

bluetooth.HostName = @ro.product.model@

[ro.product.model]: [k55v1_64_om] //log中看到的值

原理分析:/system/bt/btif/src/btif_dm.c

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]; // 方法三
            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;
}

更多相关文章

  1. Android的ProgressBar自定义入门
  2. android 下改变默认的checkbox的 选中 和被选中 图片
  3. Android的应用程序框架
  4. android mtk平台默认输入法
  5. Android命令行测试BT,WIFI,Sensor工作状态
  6. 去掉Button的默认背景
  7. 修改android桌面图标默认大小
  8. Android(安卓)dp方式的屏幕适配工具使用(Android(安卓)Studio插
  9. 使用Android(安卓)Studio打包指定名称的Apk

随机推荐

  1. Android(安卓)壁纸设置_01
  2. Android(安卓)ijkplayer编译(支持https协
  3. Android(安卓)KitKat 4.4 使用Chrome Dev
  4. Android游戏开发学习笔记(三):视频的播放
  5. Android(安卓)6.0 运行时权限封装之路
  6. 点击拨号键,可选择自己的程序
  7. 地图API使用文档-以腾讯地图为例
  8. Android(安卓)extends和implements不同
  9. android利用jdk制作签名
  10. Android恢复出厂设置流程分析