Текущее состояние батареи - Ionic 4 - PullRequest
0 голосов
/ 31 октября 2018

Я искал решение своей проблемы в течение нескольких часов. Я использую пакет «cordova-plugin-battery-status» с моим приложением ionic 4. Я хотел бы восстановить в разделе текущее состояние батареи, как только я попаду на свою страницу. Однако моя функция запускается только при изменении состояния батареи (потеря или увеличение на 1%) или при подключении или отключении источника питания.

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

BatteryPage.ts:

    import { Component, OnInit } from '@angular/core';
    import { NavController } from '@ionic/angular';
    import { BatteryStatus, BatteryStatusResponse } from '@ionic-native/battery-status/ngx';

    @Component({
    selector: 'app-battery',
    templateUrl: './battery.page.html',
    styleUrls: ['./battery.page.scss'],
    providers: [BatteryStatus]
    })

    export class BatteryPage implements OnInit {
       btlvl: any;
       btstat:any;
       subscription:any;

       constructor(public navCtrl: NavController, private batteryStatus: BatteryStatus) {
       }

       checkBatStatus() {
       this.subscription = this.batteryStatus.onChange().subscribe(
        (status) => {
         this.btlvl = status.level;
         if (status.isPlugged == true) {
          this.btstat = 'YES';
          } else {
          this.btstat = 'NO';
         }
      }
    );
  }
  ngOnInit() {
  }
}

часть BatteryPage HTML: (Это позволяет обновить мой статус (и, следовательно, отображать его впервые, как только произойдет изменение)

<ion-content padding>
  <p>Level : {{btlvl}} %</p>
  <p>Is plugged : {{btstat}}</p>
  <ion-button (click)="checkBatStatus()">Check State</ion-button>
</ion-content>
...