Inicio
Documentação
Recursos
Certificações
Comunidade

Recursos

Confira as atualizações das nossas soluções e do funcionamento do sistema ou peça suporte técnico.

Comunidade

Fique por dentro das últimas novidades, peça ajuda a outros integradores e compartilhe seu conhecimento.

Gerenciar conexões - Bluetooth - Mercado Pago Developers

Busca inteligente powered by OpenAI 

Gerenciar conexões

Em nosso SDK, você pode buscar impressoras e outros dispositivos bluetooth, além de checar os que estão emparelhados com a maquininha. Aprenda a seguir como fazê-lo.

Obter dispositivos emparelhados

A obtenção da lista dos dispositivos emparelhados com a Point Smart é feita usando a função getPairedDevices, da classe BluetoothDiscoverDevices. Confira abaixo como acessá-la por meio do objeto MPManager.

          
val bluetoothDiscoverDevices = MPManager.bluetooth.discover

bluetoothDiscoverDevices.getPairedDevices { result ->
   result
       .doIfSuccess { devices ->
           // Trabalhar com a lista de dispositivos emparelhados
       }
       .doIfError { error ->
           // Gerenciar o caso de erro, se necessário
       }
}

        
          
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();
   // Trabalhar com a lista de dispositivos emparelhados
 } else {
   // Gerenciar o caso de erro, se necessário
 }
 return Unit.INSTANCE;
};

bluetoothDiscoverDevices.getPairedDevices(callback);

        
CampoDescrição
callback ((MPResponse<List<BluetoothDeviceModel>>) -> Unit)Função de devolução da chamada que proporciona os dispositivos emparelhados como resultado. O [MPResponse] encapsula o estado, o erro (se houver) e os dados no caso de sucesso, em uma lista de modelos BluetoothDeviceModel.
id (String) Identificador único do dispositivo bluetooth.
boundState (Int)Estado de emparelhamento do dispositivo. Pode ter diferentes valores representando estados distintos.
name (String)Nome do dispositivo proporcionado pelo sistema operacional.
address (String) Endereço MAC do dispositivo bluetooth.
isConnected (Boolean)Indica se o dispositivo está conectado. Em caso positivo, a resposta é true; se estiver desconectado, aparece como false.

Obter impressoras emparelhadas

Use a função getPairedPrinterDevices da classe BluetoothDiscoverDevices para consultar a lista de impressoras bluetooth emparelhadas com a Point Smart. O acesso é feito através do objeto MPManager, como no exemplo abaixo.

          
val bluetoothDiscoverDevices = MPManager.bluetooth.discover

bluetoothDiscoverDevices.getPairedPrinterDevices { result ->
   result
       .doIfSuccess { printers ->
           // Trabalhar com a lista de dispositivos emparelhados
       }
       .doIfError { error ->
           // Gerenciar o caso de erro, se necessário
       }
}

        
          
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();
   // Trabalhar com a lista de dispositivos emparelhados
 } else {
   // Gerenciar o caso de erro, se necessário
 }
 return Unit.INSTANCE;
};

bluetoothDiscoverDevices.getPairedPrinterDevices(callback);

        
CampoDescrição
callback ((MPResponse<List<BluetoothDeviceModel>>) -> Unit)Função de devolução da chamada que proporciona as impressoras emparelhadas como resultado. O [MPResponse] encapsula o estado, o erro (se houver) e os dados em caso de sucesso em uma lista de modelos BluetoothDeviceModel.
id (String) Identificador único do dispositivo bluetooth.
boundState (Int)Estado de emparelhamento do dispositivo. Pode ter diferentes valores representando estados distintos.
name (String)Nome do dispositivo proporcionado pelo sistema operacional.
address (String) Endereço MAC do dispositivo bluetooth.
isConnected (Boolean)Indica se o dispositivo está conectado. Em caso positivo, a resposta é true; se estiver desconectado, aparece como false.

Iniciar busca de dispositivos

A função startDiscovery da classe BluetoothDiscoverDevices inicia o descobrimento de dispositivos bluetooth. O acesso é feito através do objeto MPManager. Este método facilita a implementação dinâmica da lógica baseada em eventos na sua solução. Assim:

          
val bluetoothDiscover = MPManager.bluetooth.discover

bluetoothDiscover.startDiscovery { response ->
   response
       .doIfSuccess { discoveryState ->
           when (discoveryState.type) {
               BluetoothDiscoveryState.Type.STARTED -> {
                   // Gerenciar o início da descoberta
               }
               BluetoothDiscoveryState.Type.DEVICE_FOUND -> discoveryState.device?.let { device ->
                   // Gerenciar a descoberta de um novo dispositivo
               }
               BluetoothDiscoveryState.Type.DEVICE_CHANGE -> discoveryState.device?.let { device ->
                   // Gerenciar mudanças em um dispositivo descoberto
               }
               BluetoothDiscoveryState.Type.ENDED -> {
                   // Gerenciar o fim da descoberta
               }
           }
       }
       .doIfError { error ->
           // Gerenciar o caso de erro, se necessário
       }
}

        
          
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:
       // Gerenciar o início da descoberta
       break;
     case DEVICE_FOUND:
       // Gerenciar a descoberta de um novo dispositivo
       final BluetoothDeviceModel foundDevice = response.getData().getDevice();
       break;
     case DEVICE_CHANGE:
       // Gerenciar mudanças em um dispositivo descoberto
       final BluetoothDeviceModel changedDevice = response.getData().getDevice();
       break;
     case ENDED:
       // Gerenciar o fim da descoberta

   }
 } else {
   // Gerenciar o caso de erro, se necessário
 }
 return Unit.INSTANCE;
};

bluetoothDiscoverDevices.startDiscovery(callback);

        
CampoDescrição
callback ((MPResponse<BluetoothDiscoveryState>) -> Unit)Função de devolução da chamada que proporciona o resultado do processo de descobrimento. O [MPResponse] encapsula o estado, o erro (se houver) e os dados em caso de sucesso, contendo um objeto BluetoothDiscoveryState que representa o estado atual da descoberta, eventos como o início e fim do descobrimento e mudanças no dispositivo.
id (String) Identificador único do dispositivo bluetooth.
boundState (Int)Estado de emparelhamento do dispositivo. Pode ter diferentes valores representando estados distintos.
name (String)Nome do dispositivo proporcionado pelo sistema operacional.
address (String) Endereço MAC do dispositivo bluetooth.
isConnected (Boolean)Indica se o dispositivo está conectado. Em caso positivo, a resposta é true; se estiver desconectado, aparece como false.