bluetooth_pos_printer 1.0.1 copy "bluetooth_pos_printer: ^1.0.1" to clipboard
bluetooth_pos_printer: ^1.0.1 copied to clipboard

A robust Flutter plugin for communicating with Bluetooth thermal (POS) printers. Supports Bluetooth Classic (SPP) on Android and Bluetooth Low Energy (BLE) on iOS.

1.0.1 #

  • Novidade: Verificação de Estado do Bluetooth: Adicionado o método isBluetoothEnabled() em ambas as plataformas (Android e iOS) permitindo verificar se o Bluetooth está ativo antes de tentar fazer a busca de dispositivos.
  • Correção no iOS (Condição de Corrida & Travamentos): Implementado enfileiramento seguro baseado em classes (PendingAction) para chamadas iniciais enquanto o CBCentralManager é inicializado assincronamente no iOS. Isso resolve de vez o erro "Bluetooth is not powered on" e impede travamentos infinitos da interface.
  • Aumento do Timeout de Inicialização (15s): O tempo limite da fila de inicialização no iOS foi expandido para 15 segundos, dando margem confortável para o usuário aceitar o diálogo de permissão do sistema sem cancelar o escaneamento por timeout.
  • Nomes de Dispositivos BLE corrigidos no iOS: Agora o plugin lê a chave CBAdvertisementDataLocalNameKey dos dados de anúncio caso o periférico venha com nome nulo inicialmente, evitando mostrar dispositivos como "Unknown" na busca.
  • Ajuste de Permissões no Exemplo: Adicionadas as chaves obrigatórias NSBluetoothAlwaysUsageDescription e NSBluetoothPeripheralUsageDescription no Info.plist do aplicativo de exemplo.

1.0.0 #

  • Breaking Change: Substituição de flags booleanas includePaired e includeActive pelo enum tipado BluetoothScanMode no método scan().
  • Modos de Busca Personalizados: Adicionado suporte para configurar o comportamento do escaneamento de Bluetooth através de BluetoothScanMode:
    • active (padrão): Busca apenas novos dispositivos ativos e visíveis próximos.
    • paired: Retorna apenas os dispositivos Bluetooth já pareados no sistema operacional.
    • all: Combina ambos, retornando pareados e fazendo busca ativa.
  • Interface de Exemplo em Material 3: Nova interface premium e moderna no aplicativo /example com SegmentedButton nativo do Material 3 para alternância de modos de busca em tempo real.
  • Permissões Refinadas no Android 12+: Implementação robusta das permissões perigosas de Bluetooth no Android usando a flag neverForLocation no manifesto, permitindo buscas de impressoras sem requisição invasiva de localização física em dispositivos mais recentes.
  • Estabilidade Geral: Correção de possíveis vazamentos de conexões e manipulação resiliente a exceções e falhas na inicialização do adaptador Bluetooth.

0.0.1 #

  • Initial release of the bluetooth_pos_printer plugin.
  • Supports sending RAW bytes in chunks to thermal POS printers to prevent buffer overflow.
  • Supports Classic Bluetooth (SPP) on Android and Bluetooth Low Energy (BLE) on iOS.
  • Reactive connection status stream (statusStream).
  • Included a fully-featured example application.
0
likes
0
points
195
downloads

Publisher

unverified uploader

Weekly Downloads

A robust Flutter plugin for communicating with Bluetooth thermal (POS) printers. Supports Bluetooth Classic (SPP) on Android and Bluetooth Low Energy (BLE) on iOS.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on bluetooth_pos_printer

Packages that implement bluetooth_pos_printer