Ionic framework Ionic 4中的电池状态有问题

Ionic framework Ionic 4中的电池状态有问题,ionic-framework,plugins,ionic4,Ionic Framework,Plugins,Ionic4,我正在使用Ionic4,我正在尝试获取设备电池电量。但我有一个错误: 错误类型错误:无效的事件目标 对于电池电量,我没有定义 是否有人遇到过相同的问题爱奥尼亚公司有一份公开的错误报告: 不幸的是,目前还没有解决方案,但是有一个变通方法可以绕过ionic typescript包装器,直接监听窗口事件 fromEvent(window, 'batterystatus').subscribe((status) => { console.log(status) }); 这就是我在Ioni

我正在使用Ionic4,我正在尝试获取设备电池电量。但我有一个错误: 错误类型错误:无效的事件目标 对于电池电量,我没有定义


是否有人遇到过相同的问题

爱奥尼亚公司有一份公开的错误报告:

不幸的是,目前还没有解决方案,但是有一个变通方法可以绕过ionic typescript包装器,直接监听窗口事件

fromEvent(window, 'batterystatus').subscribe((status) => {
    console.log(status)
});

这就是我在Ionic 4中获取电池状态的方法:

window.addEventListener('batterystatus', this.onBatteryStatus, false);

onBatteryStatus(status) {
console.log('Level: ' + status.level + ' isPlugged: ' + status.isPlugged);
}

一个简单的方法可能是这样的:

$ ionic cordova plugin add cordova-plugin-battery-status
$ npm install --save @ionic-native/battery-status@4
然后在代码中:

import { Platform } from 'ionic-angular';
import { BatteryStatus } from '@ionic-native/battery-status';

batterylevel = 0;


constructor(...
           private batteryStatus: BatteryStatus,
           private plt: Platform ) {}

ionViewDidEnter() 
{     
  // Cordova check
  if(this.plt.is('core') || this.plt.is('mobileweb')) 
  {
   // NO. It's a browser.
   // don't call the batery.   
  }
  else
  { 

    const batterysubscription = this.batteryStatus.onChange().subscribe(status => {  
  this.batterylevel = status.level;
     });
   } 

}

yourfunction()
{
  console.log(this.batterylevel);
}
您还需要将其添加到提供商列表中

当然,这只适用于仿真或设备。

这是我的信息