バッテリー情報を取得する – Battery

Battery

  • Batteryクラスでバッテリー情報を取得
  • 取得できる情報は5つ
  • Status 状態(充電されているかどうかなど)
    ChargeRateInMilliwatts 充電率(ミリワット)
    DesignCapacityInMilliwattHours 設計容量(ミリワット)
    FullChargeCapacityInMilliwattHours フルチャージ容量(ミリワット)
    RemainingCapacityInMilliwattHours 残量(ミリワット)
  • 設計容量とはもともとデバイスが設計されたときの充電容量
  • フルチャージ容量はバッテリーの劣化とともに減っていく
  • フルチャージ容量/設計容量でバッテリーの劣化具合が把握できる

集積データ

  • Battery.AggregateBatteryプロパティですべてのバッテリーの集積データを取得できる
  • Battery battery = Battery.AggregateBattery;
    
    BatteryReport report = battery.GetReport();
    Debug.WriteLine("Status={0}", report.Status);
    Debug.WriteLine("充電率(ミリワット)={0}", report.ChargeRateInMilliwatts);
    Debug.WriteLine("設計容量(ミリワット)={0}", report.DesignCapacityInMilliwattHours);
    Debug.WriteLine("フルチャージ容量(ミリワット)={0}", report.FullChargeCapacityInMilliwattHours);
    Debug.WriteLine("残量(ミリワット)={0}", report.RemainingCapacityInMilliwattHours);
    

     

個々のバッテリーデータ

  • バッテリーが複数ある場合はDeviceInformation.FindAllAsyncメソッドでバッテリーを取得する
  • string seletctor = Battery.GetDeviceSelector();
    DeviceInformationCollection collection = await DeviceInformation.FindAllAsync(seletctor);
    
    foreach(DeviceInformation info in collection)
    {
        Battery battery = await Battery.FromIdAsync(info.Id);
    
        BatteryReport report = battery.GetReport();
        Debug.WriteLine("Status={0}", report.Status);
        Debug.WriteLine("充電率(ミリワット)={0}", report.ChargeRateInMilliwatts);
        Debug.WriteLine("設計容量(ミリワット)={0}", report.DesignCapacityInMilliwattHours);
        Debug.WriteLine("フルチャージ容量(ミリワット)={0}", report.FullChargeCapacityInMilliwattHours);
        Debug.WriteLine("残量(ミリワット)={0}", report.RemainingCapacityInMilliwattHours);
    }
    

     

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.