Я искал решение своей проблемы в течение нескольких часов.
Я использую пакет «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>