夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

HoloLensアプリ内でデバイスのバッテリー状況を表示する

本日はHoloLens調査枠です。

HoloLens 2では使用しているアプリや機能によって大きく幅がありますが2~3時間の連続稼働が可能な容量のバッテリーが搭載されています。

現在のバッテリー状況はホーム画面上部から確認できます。

今回はこのバッテリー残量をアプリ内で取得します。

〇SystemInfo.batteryLevel

batteryLevelはUnityで提供されているメソッドです。

SystemInfo.batteryLevelから現在使用しているデバイスのバッテリー残量を取得することができます。

docs.unity3d.com

またこれとは別にSystemInfo.batteryStatusという充電中なのか?電源に接続されているのか?といった情報を取得できるメソッドもあります。

今回は以下のスクリプトを記述しました。

using System;
using UnityEngine;
using TMPro;

public class BatteryTest : MonoBehaviour
{

    [SerializeField] private TextMeshPro showBatteryLevel;
    [SerializeField] private TextMeshPro showBatteryStatus;
    private void Start()
    {
       //バッテリー残量を表示
        showBatteryLevel.text = SystemInfo.batteryLevel.ToString();
        showBatteryStatus.text = SystemInfo.batteryStatus.ToString();
    }
}

これをデプロイして実機で確認します。

次の様に表示されました。

f:id:Holomoto-Sumire:20210221211946j:plain

これはバッテリー残量が36%で Discharging(充電されていない)という状態が返されています。

以上でアプリ内でバッテリー状況を表示することに成功しました。

HoloLens2の場合デフォルトでバッテリー状況が10パーセントを切ると警告が出ますが、それ以前に充電を進めるなどアプリ内からポップを出すことに利用できそうです。