Obtener el nombre renombrado de un Android BluetoothDevice
Mi teléfono Android me permite cambiar el nombre de los dispositivos con los que he emparejado, yendo a la página [Configuración> Wireless y Networkds> Bluetooth] y haciendo clic en el botón de configuración a la derecha de un dispositivo bluetooth pareado. Sin embargo, cuando solicito una lista de dispositivos enlazados con la función BluetoothAdapter.getBondedDevices () , el nombre que aparece en los resultados es el nombre predeterminado para el dispositivo.
¿Cómo puedo acceder al nombre renombrado de un dispositivo Bluetooth?
- Bluetooth no se conecta en 4.4.2
- Problemas con Android Bluetooth LE Notificaciones
- Notificaciones de proximidad BLE de Android
- Android BluetoothAdapter Mocking
- Problemas de escaneo de baja energía de Android Bluetooth con scanfilter
- Imprimir archivo PDF a través de Bluetooth Impresora Android
- El dispositivo Android BLE recibe resultados extremadamente irregulares
- Problema de conectividad de Android BLE Re
- Android 4.3: BLE: Comportamiento de filtrado de startLeScan ()
- Uso de Bluetooth en el emulador de Android
- Bluetooth HCI snoop registro no generado
- Protocolos de alto nivel para Bluetooth / WiFi Direct Sockets?
- Bluetooth no envía archivos a otro dispositivo
Debe utilizar el nombre de alias .
Para configurar el cambio de nombre del dispositivo:
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(); }
Para obtener el nombre del dispositivo:
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(); }
- Ocultar el teclado antes de la actividad es visible
- Autorizar mi aplicación para usar una carpeta existente