WindowsPhone8.1開発メモ

WindowsPhoneのデバッグ作業の際、実機とエミュレータで試しますが、機能によってはエミュレータではカメラなどはできません。
(WebCamと連携してカメラが使えるとかになってほしい気はしてます)

そこで実機で動作中なのか、エミュレータで動作中なのかでコード分岐をしたいと思う時があります。

その為の判断は「if(Environment.DeviceType == DeviceType.Emulator)」でエミュレータであることを確認できます。

Environmentは「Environment.NewLine」等、改行コードを追加などで使われることが多いと思いますが、現在のところWindowsPhoneSilverlightでは「DeviceType」のみの実装となります。

WindowsPhoneWindowsRuntimeでは、「Environment.NewLine」が使用可能ではありますが「Environment.DeviceType」がありません。

これは、WindowsPhoneSilverlightでは「Microsoft.Devices.Environment」でWindowsPhoneWindowsRuntimeでは「System.Environment」で判定されるためです。

WindowsPhoneSilverlight開発では明示的に「System.Environment」とすれば、「System.Environment.NewLine」なども使用可能ですが、WindowsPhoneWindowsRuntime開発の場合はWindowsPhoneSilverlightを呼び出せないため、「Microsoft.Devices.Environment.DeviceType」は使用できません。

こんな所にも違いがあるので注意が必要です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください