내보내기(0) 인쇄
모두 확장

방법: 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();
        }
    );
}

Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2015 Microsoft