Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 离子2应用中的Cordova电池状态和网络连接?_Angular_Ionic2_Cordova Plugins - Fatal编程技术网

Angular 离子2应用中的Cordova电池状态和网络连接?

Angular 离子2应用中的Cordova电池状态和网络连接?,angular,ionic2,cordova-plugins,Angular,Ionic2,Cordova Plugins,我不熟悉爱奥尼亚框架 我正在尝试在我的应用程序主页中显示网络连接和电池状态。到目前为止,我们已经获得了网络连接解决方案。但是我们正在努力显示电池状态有人能告诉我如何在Ionic 2应用程序中显示设备电池状态吗?我找到了cordovaBatteryStatus插件 我已经安装了插件 My home.html:- <h2>Battery status: {{batteryStatus}}</h2> <ion-content class="home" padding&

我不熟悉爱奥尼亚框架

  • 我正在尝试在我的应用程序主页中显示网络连接和电池状态。到目前为止,我们已经获得了
    网络连接
    解决方案。但是我们正在努力显示
    电池状态
    有人能告诉我如何在Ionic 2应用程序中显示设备电池状态吗?我找到了
    cordovaBatteryStatus
    插件

  • 我已经安装了插件

My home.html:-

<h2>Battery status: {{batteryStatus}}</h2>
<ion-content class="home" padding>
    <button ion-button color="primary" (click)="checkNetwork()" full>Get Nettwork Connection</button>
</ion-content>
import { Component } from '@angular/core';

import { NavController } from 'ionic-angular';
import { AlertController, Platform} from 'ionic-angular';
import { BatteryStatus } from 'ionic-native';

declare var batteryLevel: any;
declare var navigator: any;
declare var Connection: any;



@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  hideTopTab:boolean=true;
   x(){
 console.log(this.hideTopTab);

    this.hideTopTab = !this.hideTopTab;
}

// hideBottomTab:boolean=true;
//    y(){
//  console.log(this.hideBottomTab);

//     this.hideBottomTab = !this.hideBottomTab;
// }
status:any;
  constructor(public alert:AlertController , public navCtrl: NavController, public platform: Platform) {
this.platform.ready().then(()=>{
  let subscription = BatteryStatus.onChange().subscribe( (status) => { 
    console.log(status.level, status.isPlugged); 
    this.status=status.level;
    } );
   } );

  }

  onBatteryStatus(info){
  alert('battery status: '+info.level+' isPlugged: '+info.isPlugged);
  batteryLevel = info.level;
}

checkNetwork() {
        this.platform.ready().then(() => {
            var networkState = navigator.connection.type;
            var states = {};
            states[Connection.UNKNOWN]  = 'Unknown connection';
            states[Connection.ETHERNET] = 'Ethernet connection';
            states[Connection.WIFI]     = 'WiFi connection';
            states[Connection.CELL_2G]  = 'Cell 2G connection';
            states[Connection.CELL_3G]  = 'Cell 3G connection';
            states[Connection.CELL_4G]  = 'Cell 4G connection';
            states[Connection.CELL]     = 'Cell generic connection';
            states[Connection.NONE]     = 'No network connection';
            let alert = this.alert.create({
                title: "Connection Status",
                subTitle: states[networkState],
                buttons: ["OK"]
            });
            alert.present();
        });
    }
}
  • 上述代码用于显示电池状态和设备网络连接。但是
    网络连接
    工作正常,它正在显示
    设备网络连接

  • 我们已经做了几乎所有的工作,我们试图显示
    设备电池状态和网络连接
    ,到目前为止,我们获得了
    网络连接
    解决方案,但现在我们正在努力获得
    电池状态
    解决方案

  • 因此,请您检查我的代码并提供确切的解决方案,我们不知道在
    home.ts和home.html中哪里出错。提前谢谢你


    • 您的想法错误..您正在向
      onChange
      事件添加处理程序。它只有在电池状态改变时才会启动。它可能不会在每次点击按钮时打印。 它所做的只是在每次单击按钮时替换事件侦听器 有一个类变量
      status

      在构造函数中,在
      platform.ready()中订阅
      ,并在回调中设置状态变量。
      单击按钮时,可以在警报中显示状态值

          status:any;
              constructor(public alert:AlertController , public navCtrl: NavController, public platform: Platform) { 
          this.platform.ready().then(()=>{
          let subscription = BatteryStatus.onChange().subscribe( (status) => { 
          console.log(status.level, status.isPlugged); 
          this.status=status.level;
          } );
         } );
      }
      
      根据您希望显示电池状态的方式

      <h2>Battery status: {{status?.level}}</h2>
      <h2>Battery is plugged:{{status?.isPlugged}}</h2>
      
      电池状态:{{status?.level}
      电池已插入:{{status?.isPlugged}
      
      由于状态是异步设置的,所以使用
      检查
      未定义的
      。值一旦更改就会更新。

      • 对于网络连接⚡️您可以使用


      • 对于电池状态,将调用放在platform.ready()中。是否获得任何日志?否…请查看my home.ts和home.html以获取参考…感谢您的评论…您的想法错误..您正在向onChange事件添加处理程序。。它只会在电池状态发生变化时触发。它可能不会在每次点击按钮时打印。好的,如果你知道解决方案,请让我们帮助…我们想在我的应用程序中执行
        电池状态
        ,所以请帮助我们…谢谢没有问题..或者你也可以在
        ngOninit
        Hooki suraj中设置回调,我们遇到了错误
        this.status=status.level所以请检查并更新…即使我也在调试错误…你需要声明状态为类变量,正如我提到的我无法看到qny屏幕截图..你得到了什么错误?现在我更新了上面的屏幕截图,请查看并帮助我们。。。