Ok, ¿por lo que entiendo por su pregunta es que quiere obtener el nombre del dispositivo con el que se emparejó, y si está en rango?
Así que aquí está la solución: -
- Crear una clase DeviceDetails con nombre:
DeviceDetails clase {String nombre pública; public String address; dispositivo remoto de dispositivo Bluetooth público; }
es necesario conectar y vincular los dispositivos como se explica here, una vez hecho esto y se hace la conexión, crear un objeto de DeviceDetails.
DeviceDetails selectedDevice;
y si tiene un adaptador personalizado para mostrar la lista de dispositivos pasan la posición de la vista a la referencia del dispositivo seleccionado. Ejemplo: - selectedDevice = adapter.getItem(pos);
Ahora usted tiene el objeto SelectedDevice que se ha seleccionado para emparejar, así usted puede ahorrar su dirección y el nombre de
preferencias.
Example:-
savePairedDeviceInfo(selectedDevice.name, selectedDevice.address);
public void savePairedDeviceInfo(String name, String addr)
{
if(name != null && !name.equalsIgnoreCase(""))
editor.putString(PNAME_OF_DEVICE, name);
if(addr != null && !addr.equalsIgnoreCase(""))
editor.putString(MAC_ADDRESS_OF_DEVICE, addr);
editor.commit();
}
Ahora, la próxima vez, cuando cada vez que desee comprobar si se realiza la configuración de emparejamiento o no esté buscando el nombre y la dirección del dispositivo al obtener los valores de las preferencias. Use un cheque (si es bueno) para devolver verdadero que el dispositivo más antiguo que fue emparejado fue el mismo o algún otro.
Si el dispositivo emparejado está dentro del rango, obtendría el mismo valor, de lo contrario, intentaría emparejarlo con algún otro dispositivo.
Avísame, si entendiste por mi explicación o no.
¿Has mirado aquí: http://stackoverflow.com/questions/9596978/samsung-galaxy-bluetooth-drivers –
Me echó un vistazo, pero no pude encontrar nada directamente relacionado con mi pregunta, tal vez me perdí ¿eso? –
Bueno, muéstranos qué código has probado y podemos trabajar desde allí. –