Получение переименованного имени Android BluetoothDevice

Мой телефон Android позволяет мне переименовывать устройства, с которыми я работал, перейдя на страницу "Настройки"> "Беспроводная связь и сеть"> "Bluetooth" и нажав кнопку "Настройки" справа от сопряженного устройства Bluetooth. Однако, когда я запрашиваю список связанных устройств с помощью функции BluetoothAdapter.getBondedDevices(), имя, которое отображается в результатах, является именем по умолчанию для устройства.

Как я могу получить доступ к переименованному имени для устройства Bluetooth?

1 ответ

Решение

Вы должны использовать псевдоним.

Для настройки переименования устройства:

try {
    Method method = device.getClass().getMethod("setAlias", String.class);
    if(method != null) {
        method.invoke(device, "new_device_name");
    }
} catch (NoSuchMethodException e) {
    e.printStackTrace();
} catch (InvocationTargetException e) {
    e.printStackTrace();
} catch (IllegalAccessException e) {
    e.printStackTrace();
}

Для получения имени устройства:

String deviceAlias = device.getName();
try {
    Method method = device.getClass().getMethod("getAliasName");
    if(method != null) {
        deviceAlias = (String)method.invoke(device);
    }
} catch (NoSuchMethodException e) {
    e.printStackTrace();
} catch (InvocationTargetException e) {
    e.printStackTrace();
} catch (IllegalAccessException e) {
    e.printStackTrace();
}
Другие вопросы по тегам