this.bluetoothSerial.connect (address) .subscribe () не работает в ионном приложении - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь подключить свой Samsung Galaxy S8 к монитору через мое ионное приложение с помощью плагина bluetoothSerial.

Проблема в том, что они не могут быть подключены через приложение. Соединение успешно, когда это сделано через мобильные настройки.

My Ionic App также получает адрес устройства.

Файл my home.page.ts:

selectUnpairedDevice() {
    let connectedDevice = this.unpairedList[this.unpairedDeviceID];
    if (!connectedDevice.address) {
      this.showError("Select Paired Device to connect");
      return;
    }
    let address = connectedDevice.address;
    let name = connectedDevice.name;


    this.connect(address);
  }

  connect(address) {
    // Attempt to connect device with specified address, call app.deviceConnected if success
    this.showToast("address is " + address);
    this.bluetoothSerial.connect(address).subscribe(
      success => {
        this.deviceConnected();
        this.showToast("Successfully Connected");
      },
      error => {
        this.showError("Error:Connecting to Device");
      }
    );
  }

  deviceConnected() {
    // Subscribe to data receiving as soon as the delimiter is read
    this.bluetoothSerial.subscribe("\n").subscribe(
      success => {
        this.handleData(success);
        this.showToast("Connected Successfullly");
      },
      error => {
        this.showError(error);
      }
    );
  }

  handleData(data) {
    this.showToast(data);
  }

My home.page.html:

<p> Available Devices </p>
  <ion-row>
    <ion-col>
      <ion-list radio-group [(ngModel)]="unpairedDeviceID" *ngIf="listUnpairedDevicesToggle">
        <ion-item *ngFor="let i of unpairedList;let j=index">
          <ion-label>{{i.name}}</ion-label>
          <ion-radio value="{{j}}"></ion-radio>
        </ion-item>
      </ion-list>
    </ion-col>
  </ion-row>

  <ion-button (click)="selectUnpairedDevice()" *ngIf="listUnpairedDevicesToggle">Connect devices</ion-button>
  <ion-list>
    <ion-item>
      <ion-label floating></ion-label>
      <ion-input type="text" name="datasend"></ion-input>
    </ion-item>
  </ion-list>
  <ion-button (click)="sendData()">Send data</ion-button>
...