2011-08-04 35 views
0

我期待在無線&網絡設置,特別是藍牙設置,採用Android 2.3.3。手機首次啓動時,設備名稱(友好名稱)爲空。當我啓用藍牙時,它會使用默認字符串填充設備名稱並將其保存在某處。我希望這個默認名稱最初不能爲空。我的問題是,我無法找到這個字符串的真正存儲位置。控制默認的友好名稱爲藍牙適配器

看起來藍牙設置屏幕在frameworks/base/core/java/android/server/BluetoothService.java使用藍牙服務,但是從那裏有一些函數可以本地獲取/設置適配器屬性{例如getDevicePropertiesNative()}。此功能是在框架/基/核心/ JNI/android_server_BluetoothService.cpp和使用dbus獲得所要求的性能。你如何找出dbus調用的處理地點?我還是什麼也看不到任何這些文件將Name屬性的初始值的,所以我希望它是在DBUS電話的另一端。

請注意,我確實在系統/藍牙和外部/藍牙/ bluez中都找到了bluez代碼,這兩個代碼似乎都被編譯了,並且有一個函數看起來是用於設置默認藍牙適配器值/等/藍牙/ main.conf,但如果我改變代碼或main.conf文件,沒有什麼不同的反應。我找不到任何類似於getName()的東西。

我有點新到Android內部,所以任何幫助表示讚賞。

回答

0

IBluetooth實現可以在BluetoothService.java找到。

不知道這是你正在尋找的功能,但這裏是getName()

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

謝謝你,我一直在尋找。幾分鐘前,我確實設法找到了它。 :)我已更新帖子以反映新信息。 – JonSchell