Как прочитать данные сканера штрих-кода с Bluetooth в ионном 3 - PullRequest
0 голосов
/ 30 мая 2018

У меня есть демонстрационное приложение, в котором я хочу считывать / получать данные из сканера штрих-кода с помощью подключаемого модуля bluetooth в Ionic 3. Я хочу, чтобы, как только сканер штрих-кода сканировал код, данные отображались в моем приложении.Мой файл .ts выглядит следующим образом.

import { Component } from '@angular/core';
import { BluetoothSerial } from '@ionic-native/bluetooth-serial';
import { AlertController } from 'ionic-angular';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'

})
export class HomePage {

  unpairedDevices: any;
  pairedDevices: any;
  gettingDevices: Boolean;
  inputData: string="";
  data: string="";
  constructor(private bluetoothSerial: BluetoothSerial, private alertCtrl: AlertController) {
    bluetoothSerial.enable();
  }

  startScanning() {
    this.pairedDevices = null;
    this.unpairedDevices = null;
    this.gettingDevices = true;
    this.bluetoothSerial.discoverUnpaired().then((success) => {
      this.unpairedDevices = success;
      this.gettingDevices = false;
      success.forEach(element => {

      });
    },
      (err) => {
        console.log(err);
      })

    this.bluetoothSerial.list().then((success) => {
      this.pairedDevices = success;
    },
      (err) => {

      })
  }
  success = (data) => alert(data);
  fail = (error) => alert(error);

  selectDevice(address: any) {

    let alert = this.alertCtrl.create({
      title: 'Connect',
      message: 'Do you want to connect with?',
      buttons: [
        {
          text: 'Cancel',
          role: 'cancel',
          handler: () => {
            console.log('Cancel clicked');
          }
        },
        {
          text: 'Connect',
          handler: () => {
            this.bluetoothSerial.connect(address).subscribe(this.success, this.fail);
                 this.bluetoothSerial.available().then(data =>{

                  console.log("Available " + (data));

                  this.bluetoothSerial.read().then(data =>{

                    console.log("Read " + (data));
                    this.data=this.inputData ;

                  //  this.navCtrl.push(WelcomePage);

                  });
                });
                      }

        }
      ]
    });
    alert.present();

  }



  disconnect() {
    let alert = this.alertCtrl.create({
      title: 'Disconnect?',
      message: 'Do you want to Disconnect?',
      buttons: [
        {
          text: 'Cancel',
          role: 'cancel',
          handler: () => {
            console.log('Cancel clicked');
          }
        },
        {
          text: 'Disconnect',
          handler: () => {
            this.bluetoothSerial.disconnect();
          }
        }
      ]
    });
    alert.present();
    }
}

, а мой html файл выглядит следующим образом

    <ion-list padding>
  <button ion-button block (click)="startScanning()">scan</button>
  <ion-list-header>
    Paired Devices
  </ion-list-header>
  <ion-item *ngFor="let device of pairedDevices">
    {{device.name}}
  </ion-item>
  <button ion-button block (click)="disconnect()">Disconnect</button>
  <ion-list-header>
    availlable Devices
  </ion-list-header>
  <ion-item *ngFor='let device of unpairedDevices'>
    <span (click)="selectDevice(device.address)">
      {{device.name}}
    </span>
  </ion-item>
  <ion-spinner name="crescent" *ngIf="gettingDevices"></ion-spinner>
      <ion-label stacked>display</ion-label>
      <ion-input  type="text" readonly=""  [(ngModel)]="inputData">{{data}}</ion-input>
    </ion-item>    

</ion-list>

Мой плагин Bluetooth работает нормально.Сканер штрих-кода подключен, но когда я сканирую штрих-код, данные не отображаются.Я не знаю почему.Пожалуйста, помогите мне, пожалуйста.

1 Ответ

0 голосов
/ 03 января 2019

Вам не нужно использовать этот плагин.Просто соедините его с телефоном по блютузу, и он будет отлично работать на любом входе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...