修改蓝牙默认名称的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项目sdk版本的方法
  2. Android Studio Error 安装后Gradle:resolve dependencies:'clas
  3. TabHost 置于底部 顶部的方法
  4. Android启动模拟器出现:Failed to allocate memory: 8的解决方法
  5. eclipse添加android插件错误处理方法
  6. ReactNative 在用react-navigation组件时,没有 navigator.getCurr
  7. Android Canvas drawArc方法介绍

随机推荐

  1. Android(安卓)开发中遇到的 bug(6)
  2. java引入Android(安卓)NinePatch技术的意
  3. android sharedpreferences工具类
  4. Eclipse开发简易的Android服务器
  5. maven 学习笔记(二)-创建简单的eclipse+and
  6. android AppWidget 支持ListView
  7. Android开发环境配置
  8. android 模拟器中启用相机API支持
  9. android Dialog 背景问题
  10. 通过Titanium Studio为Android(安卓)APK