У меня есть демонстрационное приложение, в котором я хочу считывать / получать данные из сканера штрих-кода с помощью подключаемого модуля 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 работает нормально.Сканер штрих-кода подключен, но когда я сканирую штрих-код, данные не отображаются.Я не знаю почему.Пожалуйста, помогите мне, пожалуйста.