情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

方法: Windows Phone の DeviceStatus クラスを使用する

2012/02/09

DeviceStatus API を使用して、デバイスの合計メモリ、デバイスのハードウェア バージョン、物理キーボードが展開されているかどうかなどのデバイスに関するステータス情報を判断できます。さらに、特定のプロパティが変更されたときに、アプリケーションに通知するいくつかのイベントを登録することができます。

このトピックのガイダンスとコード例は、デバイス ステータス サンプルと呼ばれるエンド ツー エンドのコード サンプルに基づいています。このサンプルは「Windows Phone のコード サンプル」でダウンロードできます。

次のコード例は、DeviceStatus クラスのプロパティにアクセスし、値を TextBlock コントロールの Text プロパティに出力する方法を示しています。

deviceManufacturerTextBlock.Text = DeviceStatus.DeviceManufacturer;
deviceNameTextBlock.Text = DeviceStatus.DeviceName;
deviceFirmwareVersionTextBlock.Text = DeviceStatus.DeviceFirmwareVersion;
deviceHardwareVersionTextBlock.Text = DeviceStatus.DeviceHardwareVersion;
deviceTotalMemoryTextBlock.Text = DeviceStatus.DeviceTotalMemory.ToString();
appCurrentMemoryUsageTextBlock.Text = DeviceStatus.ApplicationCurrentMemoryUsage.ToString();
appMemoryUsageLimitTextBlock.Text = DeviceStatus.ApplicationMemoryUsageLimit.ToString();
appPeakMemoryUsageTextBlock.Text = DeviceStatus.ApplicationPeakMemoryUsage.ToString();
isKeyboardPresentTextBlock.Text = DeviceStatus.IsKeyboardPresent.ToString();
isKeyboardDeployedTextBlock.Text = DeviceStatus.IsKeyboardDeployed.ToString();
powerSourceTextBlock.Text = DeviceStatus.PowerSource.ToString();

まず、以下のコード例のようにイベント ハンドラーを設定します。

DeviceStatus.KeyboardDeployedChanged += new EventHandler(DeviceStatus_KeyboardDeployedChanged);

次に、以下のコード例に示すように、Dispatcher を呼び出して TextBlock コントロールの Text プロパティを更新します。

void DeviceStatus_KeyboardDeployedChanged(object sender, EventArgs e)
{
    // The KeyboardDeployedChanged event is not raised on the UI thread, 
    // so the Dispatcher must be invoked to update the Text property.
    this.Dispatcher.BeginInvoke(() => 
        {
            isKeyboardDeployedTextBlock.Text = DeviceStatus.IsKeyboardDeployed.ToString();
        }
    );
}

まず、以下のコード例のようにイベント ハンドラーを設定します。

DeviceStatus.PowerSourceChanged += new EventHandler(DeviceStatus_PowerSourceChanged);


次に、以下のコード例に示すように、Dispatcher を呼び出して TextBlock コントロールの Text プロパティを更新します。

void DeviceStatus_PowerSourceChanged(object sender, EventArgs e)
{
    // The PowerSourceChanged event is not raised on the UI thread, 
    // so the Dispatcher must be invoked to update the Text property.
    this.Dispatcher.BeginInvoke(() => 
        {
            powerSourceTextBlock.Text = DeviceStatus.PowerSource.ToString();
        }
    );
}

表示:
© 2014 Microsoft