Windows Mobile端末は、名前の通りモバイル端末であるためデスクトップPCとは異なり、常に電源と接続されているとは限りません。
たとえば、音楽再生アプリではバッテリィレベル(バッテリィ残量・充電残量)が低くなったら再生を停止するなど、バッテリィレベルによって動作を変える必要に迫られます。
本記事では現在のバッテリィレベルの取得の仕方をご紹介します。
バッテリィレベルは、Microsoft.WindowsMobile.Status名前空間
を使用する事で簡単に取得する事が出来ます。以下に、サンプルコードを示します。
[参照の追加]より、以下のアセンブリを参照設定に追加しておきます。
- Microsoft.WindowsMobile
- Microsoft.WindowsMobile.Status
取得出来るのバッテリィレベルは、以下の5段階です。
レベル | 残容量 |
---|---|
VeryHigh | 81-100% |
High | 61-80% |
Medium | 41-60% |
Low | 21-40% |
VeryLow | 0-20% |
VB.NET
Dim msg As String = String.Empty Select Case SystemState.BatteryLevel Case BatteryLevel.VeryHigh msg = "バッテリィレベルが非常に高い" Case BatteryLevel.High msg = "バッテリィレベルが高い" Case BatteryLevel.Medium msg = "バッテリィレベルが通常" Case BatteryLevel.Low msg = "バッテリィレベルが低い" Case BatteryLevel.VeryLow msg = "バッテリィレベルが非常に低い" End Select MessageBox.Show(msg)
C#
string msg = string.Empty; switch (SystemState.BatteryLevel) { case BatteryLevel.VeryHigh: msg = "バッテリィレベルが非常に高い"; break; case BatteryLevel.High: msg = "バッテリィレベルが高い"; break; case BatteryLevel.Medium: msg = "バッテリィレベルが通常"; break; case BatteryLevel.Low: msg = "バッテリィレベルが低い"; break; case BatteryLevel.VeryLow: msg = "バッテリィレベルが非常に低い"; break; } MessageBox.Show(msg);
バッテリーレベルが変化した事をテストする
(自分の環境でしか試験を行っていないので、他のPCでも同様かの保証は出来ませんが、)[Battery:]を変更しても、即設定値が変更されないようでしたので、一旦ソフトリセットして後、結果が変更されているのを確認しました。
button1をクリックする事でバッテリィレベルを取得する事が出来ました。
関連記事
Windows Mobile(.NET Compact Framework)を使ってアプリ開発する際に逆引きとしてお使いください。