首页 > 解决方案 > Ionic 4:BatteryStatus 不会改变

问题描述

我正在尝试在我的应用程序中获取设备的电池状态。

安装后

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;
  });
}

一切都编译得很完美,但电池信息永远不会改变(浏览器和应用程序一样)。当我插入计算机或电池电量发生变化时,它都不会检测到。

有人知道这个问题吗?谢谢 !

标签: angulartypescriptionic-framework

解决方案


该代码对我来说看起来不错,但是该插件太旧了,以至于它可能无法在较新的操作系统上按预期工作。您可以尝试打开一个问题:https ://github.com/apache/cordova-plugin-battery-status/issues

如果我是你,我会尝试使用电容器:https ://capacitorjs.com/docs/apis/device#getbatteryinfo


推荐阅读