android 4.4系统中,只要定义宏 BTM_DEF_LOCAL_NAME (蓝牙模块默认名)的值即可。
在源码根目录的external/bluetooth/bluedroid/bluedroid/main/bte_conf.c 可以看到有以下代码 local_device_default_name = BTM_DEF_LOCAL_NAME;
如果没有定义该宏 ,根据external/bluetooth/bluedroid/btif/src/btif_dm.c 文件中 btif_get_default_local_name函数会去用ro.product.model属性值作为蓝牙名字。
在external/bluetooth/bluedroid/include/bt_target.h 中,把#define BTM_DEF_LOCAL_NAME "" 修改为你想要的名字。重新编译系统后,记得要清掉用户数据,不然很可能Settings.apk显示的蓝牙名字可能是旧的。
另外:
com.android.server.BluetoothManagerService.loadStoredNameAndAddress() 读取保存的蓝牙名称和地址
com.android.server.BluetoothManagerService.storeNameAndAddress(String, String) 保存蓝牙名称和地址
保存在/data/data/com.android.providers.settings/databases/settings.db 的表 “secure”的“bluetooth_name”及“bluetooth_address”
参考: http://www.eoeandroid.com/thread-329657-1-1.html