Управление дружественным именем по умолчанию для адаптера Bluetooth - PullRequest
0 голосов
/ 04 августа 2011

Я смотрю на настройки беспроводной сети и, в частности, настройки Bluetooth, используя Android 2.3.3.При первом запуске телефона имя устройства (понятное имя) будет пустым.Когда я включаю Bluetooth, он заполняет имя устройства строкой по умолчанию и сохраняет его где-то.Я хочу, чтобы это имя по умолчанию не было пустым изначально.Моя проблема в том, что я не могу найти, где эта строка действительно хранится.

Похоже, что экран настроек Bluetooth использует службу Bluetooth в frameworks / base / core / java / android / server / BluetoothService.Java, но оттуда, есть функции для получения / установки свойств адаптера изначально {например, getDevicePropertiesNative ()}.Эта функция находится в frameworks / base / core / jni / android_server_BluetoothService.cpp и использует dbus для получения запрошенного свойства.Как узнать, где обрабатывается вызов dbus?Я до сих пор не вижу ничего в этих файлах, которые бы устанавливали начальное значение свойства Name, поэтому я надеюсь, что оно находится на другой стороне вызовов dbus.

Обратите внимание, что я нашел код bluez в обоихsystem / bluetooth и external / bluetooth / bluez, которые, похоже, компилируются, и есть функция, которая, по-видимому, предназначена для установки значений по умолчанию для адаптера bluetooth с помощью /etc/bluetooth/main.conf, но если я изменю этот кодили файл main.conf, ничего другого не происходит.Я не смог найти аналога getName ().

Я немного новичок в Android, поэтому любая помощь приветствуется.

1 Ответ

0 голосов
/ 04 августа 2011

Реализация IBluetooth может быть найдена в BluetoothService.java.

Не уверен, что это именно та функция, которую вы ищете, но вот getName():

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