Windows Phone OS 7.1からのサポートされる機能です。Microsoft.Phone.Info.DeviceStatusを使って、アプリケーションからデバイス情報を取得出来ます。
電源の供給元を取得する
// 電源をどこから取得しているのかを判定する if (Microsoft.Phone.Info.DeviceStatus.PowerSource == Microsoft.Phone.Info.PowerSource.Battery) { // 電源をバッテリーから取得する } else { // コンセントに挿していたり、パソコンにUSB経由で動いている }
電源の供給元が変わったのを取得する
Microsoft.Phone.Info.DeviceStatus.PowerSourceChanged += (s, e) =>
{
// 電源の取得先が変わった時にイベントが発生する
};
デバイスの名称を取得する
// デバイス名を取得する var name = Microsoft.Phone.Info.DeviceStatus.DeviceName; // 出力:"XDeviceEmulator"
デバイスの製造メーカー名を取得する
// デバイスの製造メーカー名を取得する var manufacturer = Microsoft.Phone.Info.DeviceStatus.DeviceManufacturer; // 出力:"Microsoft" **デバイスのファームウェアバージョンを取得する >|cs| // デバイスのファームウェアバージョンを取得する var firmVersion = Microsoft.Phone.Info.DeviceStatus.DeviceFirmwareVersion; // 出力:"0.0.0.0"
デバイスのハードウェアワークバージョンを取得する
// デバイスのハードウェアワークバージョンを取得する var hardVersion = Microsoft.Phone.Info.DeviceStatus.DeviceHardwareVersion; // 出力:"0.0.0.0"
同様のAPIにSystem.EnvironmentクラスのOSVersionプロパティがありますが、こちらはOSのコアとなったバージョンが取得できます(例ではWindows CE 7等)。
var osVersion = System.Environment.OSVersion;
// 出力:"Microsoft Windows CE 7.10.7629"
デバイスの総メモリ量を取得する
// デバイスの総メモリ量を取得する var memory = Microsoft.Phone.Info.DeviceStatus.DeviceTotalMemory; // 出力:456298496
アプリケーションの使用メモリ量を取得する
// アプリケーションの使用メモリ量を取得する var currentMemory = Microsoft.Phone.Info.DeviceStatus.ApplicationCurrentMemoryUsage; // 出力:7712768
アプリケーションの使用メモリ量のピークを取得する
// アプリケーションの使用メモリ量のピークを取得する var peekMemory = Microsoft.Phone.Info.DeviceStatus.ApplicationPeakMemoryUsage; // 出力:7712768
ハードウェアキーボードが使える状態になっているか判定する
// ハードウェアキーボードが使える状態になっているか判定する var isKeyboradDeployed = Microsoft.Phone.Info.DeviceStatus.IsKeyboardDeployed; // 出力:false
デバイスにハードウェアキーボードが付いているかどうか判定する
// デバイスにハードウェアキーボードが付いているかどうか判定する var isKeyboradPresent = Microsoft.Phone.Info.DeviceStatus.IsKeyboardPresent; // 出力:true