Не удается найти какое-либо устройство при сканировании устройства Bluetooth с помощью esc_pos_printer: ^ 2.1.2 пакет в flutter

#flutter #bluetooth #flutter-dependencies

#flutter #bluetooth #flutter-зависимости

Вопрос:

Я пытался подключить flutter с помощью Bluetooth thermal_printer, используя пакет esc_pos_printer: ^ 2.1.2.

D / BluetoothBasicPlugin(18555): начать сканирование D / BluetoothAdapter(18555): СОСТОЯНИЕ НА D / BluetoothLeScanner(18555): onClientRegistered() — status = 0 clientIf = 6 D / BluetoothAdapter(18555): СОСТОЯНИЕ НА D / BluetoothBasicPlugin(18555): начать сканирование scan D / Адаптер Bluetooth (18555): СОСТОЯНИЕ НА D/BluetoothLeScanner(18555): onClientRegistered() — status= 0 clientIf= 6 D/BluetoothAdapter(18555): STATE_ON D / BluetoothBasicPlugin(18555): начать сканирование D / BluetoothAdapter(18555): STATE_ON D / BluetoothLeScanner(18555): onClientRegistered() — статус=0 clientIf=6 D/BluetoothAdapter(18555): STATE_ON

повторите эти строки при сканировании моего кода, приведенного ниже

 import 'package:flutter/material.dart';
import 'package:esc_pos_printer/esc_pos_printer.dart';
class Test extends StatefulWidget {
  @override
  _TestState createState() => _TestState();
}

class _TestState extends State<Test> {
  PrinterBluetoothManager printerManager = PrinterBluetoothManager();

  List<PrinterBluetooth> _devices = [];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Printer Demo'),
      ),
      body: ListView.builder(
        itemBuilder: (context,position)=>ListTile(
          onTap: (){
            //code to print with this device
            printerManager.selectPrinter(_devices[position]);
            Ticket ticket=Ticket(PaperSize.mm58);
            ticket.text('Demo text');
            ticket.feed(1);
            ticket.cut();
            printerManager.printTicket(ticket).then((result) {
              Scaffold.of(context).showSnackBar(SnackBar(content: Text(result.msg)));
            }).catchError((error){
              Scaffold.of(context).showSnackBar(SnackBar(content: Text(error.toString())));
            });
          },
          title: Text(_devices[position].name),
          subtitle: Text(_devices[position].address),
        ),
        itemCount: _devices.length,
      ),

      floatingActionButton: FloatingActionButton(onPressed: (){
        //Code to search for devices
        printerManager.startScan(Duration(seconds: 4));
        printerManager.scanResults.listen((scannedDevices) {
          setState(() {
            _devices=scannedDevices;
          });
        });
      },child: Icon(Icons.search),),
    );
  }
}

 

Комментарии:

1. Является ли ваш thermal_printer классическим Bluetooth или Bluetooth-принтером с низким энергопотреблением (BLE)? Вы используете библиотеку BLE, возможно, вам нужно использовать ее для Bluetooth Classic

2. Это сработало, когда я сменил принтер. Но теперь он печатает только один раз. когда я повторяю печать, она не работает. Затем мне нужно повторно подключить принтер и перезапустить весь процесс. Есть ли какое-либо решение?

3. Вы используете тот же код?