Retreive the Device Information from Windows Phone

Assume that you need to retreive some device information from Windows Phone . You can get them from the classes “DeviceExtendedProperties” and “DeviceStatus” defined in the Microsoft.Phone.Info namespace .

Note that i am using the Real Windows Phone Device to retreive the information .

The DeviceExtendedProperties allows the App to retreive the info about the device on which it is running .

With the DeviceExtendedProperties , it is possible to get the device info from the following properties

  • DeviceName
  • DeviceUniqueId
  • DeviceManufacturer
  • ApplicationCurrentMemoryUsage
  • ApplicationPeakMemoryUsage
  • DeviceName
  • DeviceUniqueId
  • DeviceFirmwareVersion
  • DeviceHardwareVersion
  • DeviceTotalMemory

We can use the TryGetValue method of the DeviceExtendedProperties class to get the info as below .

  public void GetDeviceName()
  {
        string output = string.Empty;
        object MyDeviceName;
        if (DeviceExtendedProperties.TryGetValue("DeviceName", out MyDeviceName)) { output = MyDeviceName.ToString(); }

        MessageBox.Show(MyDeviceName.ToString());
  }

The DeviceExtendedProperties was the one that was used in the WP7 but with the WP7.1 SDK , it is suggested to use the DeviceStatus instead .

According to MSDN Documentation .

“DeviceExtendedProperties is deprecated. Use DeviceStatus instead.”

In Windows Phone Mango , the DeviceStatus static class is used to get the device info .

Apart from the properties like DeviceName , DeviceTotalMemory , DeviceFirmwareVersion , ApplicationCurrentMemoryUsage , ApplicationPeakMemoryUsage , DeviceHardwareVersion , DeviceManufacturer , the devicestatus also provides the provides following properties

  • IsKeyboardDeployed
  • IsKeyboardPresent
  • PowerSource .

You can also get the Windows Phone Operating System Version number from Environment.OSVersion .

   public MainPage()
   {
            InitializeComponent();
            GetDeviceInfo();

   }

   public void GetDeviceInfo()
   {
            long ApplicationMemoryUsage = DeviceStatus.ApplicationCurrentMemoryUsage;
            long PeakMemoryUsage = DeviceStatus.ApplicationPeakMemoryUsage;
            string FirmwareVersion = DeviceStatus.DeviceFirmwareVersion;
            string HardwareVersion = DeviceStatus.DeviceHardwareVersion;
            string Manufacturer = DeviceStatus.DeviceManufacturer;
            string DeviceName = DeviceStatus.DeviceName;
            long TotalMemory = DeviceStatus.DeviceTotalMemory;
            string OSVersion = Environment.OSVersion.Version.ToString(); ;
            PowerSource powerSource = DeviceStatus.PowerSource;
            AddToList("Memory Usage :" + ApplicationMemoryUsage);
            AddToList("Peak Memory Usage :" + PeakMemoryUsage);
            AddToList("Firmware Version :" + FirmwareVersion);
            AddToList("Hardware Version :" + HardwareVersion);
            AddToList("Manufacturer :" + Manufacturer);
            AddToList("Total Memory :" + TotalMemory);
            AddToList("Power Source:" + powerSource.ToString());
            AddToList("Operating System: Windows Phone " + OSVersion.ToString());

   }

   public void AddToList(string Property)
   {
            lstboxDeviceInfo.Items.Add(Property);
   }

Note that the device OS Version we get is 7.1 but the Phone has 7.5 defined in the settings .


Reference :

If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.
Pin It

3 thoughts on “Retreive the Device Information from Windows Phone

  1. Pingback: Retreive the Device Information from Windows Phone | ProgramInDotnet

  2. Pingback: Interesting .NET Links - July 3 , 2011 | TechBlog

Leave a Reply

Your email address will not be published. Required fields are marked *