我正在嘗試在我的應用中獲取設備的電池狀態。
安裝后
cordova-plugin-battery-status
@ionic-native/battery-status
@ionic-native/core
我放入BatteryStatus了模塊提供者。
在組件中,我有:
batterySubscription: Subscription;
batteryLevel: number = 100;
isBatteryPlugged: boolean = false;
constructor(private batteryStatus: BatteryStatus) { }
ngOnInit() {
this.initSubscriptions();
}
initSubscriptions() {
this.batterySubscription = this.batteryStatus.onChange().subscribe( (status:
BatteryStatusResponse) => {
console.log(status.level, status.isPlugged);
this.batteryLevel = status.level;
this.isBatteryPlugged = status.isPlugged;
});
}
一切都完美編譯,但電池資訊永遠不會改變(以及在瀏覽器和應用程式中)。它既不會檢測我何時插入計算機,也不會檢測電池電量何時發生變化。
有人知道這個問題嗎?謝謝 !
uj5u.com熱心網友回復:
代碼對我來說看起來不錯,但該插件太舊了,它可能無法在較新的作業系統上按預期作業。您可以嘗試打開一個問題:https : //github.com/apache/cordova-plugin-battery-status/issues
但是,如果我是你,我會嘗試使用電容器:https : //capacitorjs.com/docs/apis/device#getbatteryinfo
uj5u.com熱心網友回復:
根據您正在測驗的作業系統,而不是
this.battery.onChange()
你可能會得到更好的結果
fromEvent<BatteryStatusResponse>(window, 'batterystatus')
這就是我在 Android 10 上使用的,并從中獲得了所需的行為。
更多參考:https : //github.com/apache/cordova-plugin-battery-status/issues/66#issuecomment-527070672
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/336766.html
上一篇:Angular代碼神秘地賦值
