【发布时间】:2011-08-04 18:50:36
【问题描述】:
我正在使用 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 调用的另一端。
请注意,我确实在 system/bluetooth 和 external/bluetooth/bluez 中都找到了 bluez 代码,它们似乎都在编译,并且有一个函数似乎用于使用 /etc 设置默认蓝牙适配器值/bluetooth/main.conf,但是如果我更改该代码或 main.conf 文件,则不会发生任何不同。我找不到任何与 getName() 类似的东西。
我对 Android 内部结构有点陌生,因此非常感谢任何帮助。
【问题讨论】:
标签: android service bluetooth aidl