控制蓝牙适配器的默认友好名称

时间:2011-08-04 18:50:36

标签: android service bluetooth aidl

我正在看无线和放大器网络设置,特别是蓝牙设置,使用Android 2.3.3。首次启动手机时,设备名称(友好名称)为空白。当我启用蓝牙时,它会使用默认字符串填充设备名称并将其保存在某处。我希望最初的默认名称不是空白。我的问题是我无法找到真正存储此字符串的位置。

看起来蓝牙设置屏幕正在使用frameworks / base / core / java / android / server / BluetoothService.java中的蓝牙服务,但是从那里开始,有一些函数来本地获取/设置适配器属性{for例如getDevicePropertiesNative()}。此函数位于frameworks / base / core / jni / android_server_BluetoothService.cpp中,并使用dbus获取请求的属性。你如何找到dbus呼叫的处理位置?我仍然没有在这些文件中看到任何设置Name属性的初始值的文件,所以我希望它在dbus调用的另一端。

请注意,我确实在系统/蓝牙和外部/蓝牙/蓝色中找到了bluez代码,它们似乎都在编译,并且有一个功能似乎是用于使用/ etc设置默认蓝牙适配器值/bluetooth/main.conf,但如果我更改了该代码或main.conf文件,则不会发生任何不同的情况。我找不到getName()的任何类似物。

我对Android内部有点新手,所以感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

IBluetooth的实施可以在BluetoothService.java找到。

不确定这是否是您正在寻找的功能,但这里是getName()

public synchronized String getName() {
    mContext.enforceCallingOrSelfPermission(BLUETOOTH_PERM, "Need BLUETOOTH permission");
    return getProperty("Name");
}