Gestionar conexiones
En nuestro SDK, puedes buscar impresoras y otros dispositivos bluetooth, ademĂĄs de gestionar los que ya estĂĄn emparejados al lector. Aprende cĂłmo hacerlo.
Obtener dispositivos emparejados
La obtenciĂłn de la lista de dispositivos emparejados con el Point Smart se hace usando la funciĂłn getPairedDevices
, de la clase BluetoothDiscoverDevices
. Consulta a continuación cómo acceder a ella a través del objeto MPManager
.
val bluetoothDiscoverDevices = MPManager.bluetooth.discover
bluetoothDiscoverDevices.getPairedDevices { result ->
   result
       .doIfSuccess { devices ->
           // Trabajar con la lista de dispositivos emparejados
       }
       .doIfError { error ->
           // Manejar el caso de error si es necesario
       }
}
final BluetoothDiscoverDevices bluetoothDiscoverDevices = MPManager.INSTANCE.getBluetooth().getDiscover();
final Function1<MPResponse<List<BluetoothDeviceModel>>, Unit> callback = (final MPResponse<List<BluetoothDeviceModel>> response) -> {
 if (response.getStatus() == ResponseStatus.SUCCESS) {
   final List<BluetoothDeviceModel> devices = response.getData();
   // Trabajar con la lista de dispositivos emparejados
 } else {
   // Manejar el caso de error si es necesario
 }
 return Unit.INSTANCE;
};
bluetoothDiscoverDevices.getPairedDevices(callback);
Campo | DescripciĂłn |
callback ((MPResponse<List<BluetoothDeviceModel>>) -> Unit) | FunciĂłn de devoluciĂłn del llamado que ofrece los dispositivos emparejados como resultado. El [MPResponse] encapsula el estado, el error (si lo hay) y los datos en caso de Ă©xito, en una lista de modelos BluetoothDeviceModel . |
id (String) | Identificador Ășnico del dispositivo bluetooth. |
boundState (Int) | Estado de emparejamiento del dispositivo. Puede tener diferentes valores representando estados distintos. |
name (String) | Nombre del dispositivo ofrecido por el sistema operacional. |
address (String) | Â DirecciĂłn MAC del dispositivo bluetooth. |
isConnected (Boolean) | Indica si el dispositivo estĂĄ conectado. En caso de ser positivo, la respuesta es true . Si estĂĄ desconectado, aparece como false . |
Obtener impresoras emparejadas
Usa la función getPairedPrinterDevices
 de la clase BluetoothDiscoverDevices
 para consultar la lista de impresoras bluetooth emparejadas al Point Smart. El acceso se hace a través del objeto MPManager
, como en el ejemplo a continuaciĂłn.
val bluetoothDiscoverDevices = MPManager.bluetooth.discover
bluetoothDiscoverDevices.getPairedPrinterDevices { result ->
   result
       .doIfSuccess { printers ->
           // Trabajar con la lista de dispositivos emparejados
       }
       .doIfError { error ->
           // Manejar el caso de error si es necesario
       }
}
final BluetoothDiscoverDevices bluetoothDiscoverDevices = MPManager.INSTANCE.getBluetooth().getDiscover();
final Function1<MPResponse<List<BluetoothDeviceModel>>, Unit> callback = (final MPResponse<List<BluetoothDeviceModel>> response) -> {
 if (response.getStatus() == ResponseStatus.SUCCESS) {
   final List<BluetoothDeviceModel> printers = response.getData();
   // Trabajar con la lista de dispositivos emparejados
 } else {
   // Manejar el caso de error si es necesario
 }
 return Unit.INSTANCE;
};
bluetoothDiscoverDevices.getPairedPrinterDevices(callback);
Campo | DescripciĂłn |
callback ((MPResponse<List<BluetoothDeviceModel>>) -> Unit) | Función de devolución del llamado que ofrece las impresonas emparejadas como resultado. El [MPResponse] encapsula el estado, el error (si lo hay) y los datos en caso de éxito en una lista de modelos BluetoothDeviceModel . |
id (String) | Identificador Ășnico del dispositivo bluetooth. |
boundState (Int) | Estado de emparejamiento del dispositivo. Puede tener diferentes valores representando estados distintos. |
name (String) | Nombre del dispositivo ofrecido por el sistema operacional. |
address (String) | Â DirecciĂłn MAC del dispositivo bluetooth. |
isConnected (Boolean) | Indica si el dispositivo estĂĄ conectado. En caso de ser positivo, la respuesta es true . Si estĂĄ desconectado, aparece como false . |
Iniciar bĂșsqueda
La funciĂłn startDiscovery
 de la clase BluetoothDiscoverDevices
 inicia la bĂșsqueda de dispositivos bluetooth. El acceso se hace a travĂ©s del objeto MPManager
. Este mĂ©todo facilita la implementaciĂłn dinĂĄmica de la lĂłgica basada en eventos en tu soluciĂłn. AsĂ:
val bluetoothDiscover = MPManager.bluetooth.discover
bluetoothDiscover.startDiscovery { response ->
   response
       .doIfSuccess { discoveryState ->
           when (discoveryState.type) {
               BluetoothDiscoveryState.Type.STARTED -> {
                   // Manejar el inicio del descubrimiento
               }
               BluetoothDiscoveryState.Type.DEVICE_FOUND -> discoveryState.device?.let { device ->
                   // Manejar el descubrimiento de un nuevo dispositivo
               }
               BluetoothDiscoveryState.Type.DEVICE_CHANGE -> discoveryState.device?.let { device ->
                   // Manejar cambios en un dispositivo descubierto
               }
               BluetoothDiscoveryState.Type.ENDED -> {
                   // Manejar el fin del descubrimiento
               }
           }
       }
       .doIfError { error ->
           // Manejar el caso de error si es necesario
       }
}
final BluetoothDiscoverDevices bluetoothDiscoverDevices = MPManager.INSTANCE.getBluetooth().getDiscover();
final Function1<MPResponse<BluetoothDiscoveryState>, Unit> callback = (final MPResponse<BluetoothDiscoveryState> response) -> {
 if (response.getStatus() == ResponseStatus.SUCCESS) {
   switch (response.getData().getType()) {
     case STARTED:
       // Manejar el inicio del descubrimiento
       break;
     case DEVICE_FOUND:
       // Manejar el descubrimiento de un nuevo dispositivo
       final BluetoothDeviceModel foundDevice = response.getData().getDevice();
       break;
     case DEVICE_CHANGE:
       // Manejar cambios en un dispositivo descubierto
       final BluetoothDeviceModel changedDevice = response.getData().getDevice();
       break;
     case ENDED:
       // Manejar el fin del descubrimiento
   }
 } else {
   // Manejar el caso de error si es necesario
 }
 return Unit.INSTANCE;
};
bluetoothDiscoverDevices.startDiscovery(callback);
Campo | DescripciĂłn |
callback ((MPResponse<BluetoothDiscoveryState>) -> Unit) | FunciĂłn de devoluciĂłn del llamado que ofrece el resultado del proceso de bĂșsqueda. El [MPResponse] encapsula el estado, el error (si lo hay) y los datos en caso de Ă©xito, teniendo un objeto BluetoothDiscoveryState que representa el estado actual de la bĂșsqueda, eventos como el inicio y el fin de la bĂșsqueda y los cambios en el dispositivo. |
id (String) | Identificador Ășnico del dispositivo bluetooth. |
boundState (Int) | Estado de emparejamiento del dispositivo. Puede tener diferentes valores representando estados distintos. |
name (String) | Nombre del dispositivo ofrecido por el sistema operacional. |
address (String) | Â DirecciĂłn MAC del dispositivo bluetooth. |
isConnected (Boolean) | Indica si el dispositivo estĂĄ conectado. En caso de ser positivo, la respuesta es true . Si estĂĄ desconectado, aparece como false . |