Получение переименованного имени 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();
}