DERS PROGRAMI
201 Ders Programı

Cihaz Bilgilerine Erişim

Lisans: Creative Commons 11.12.2020 tarihinde güncellendi
Bakabileceğiniz Etiketler: Eğitmen: Geleceği Yazanlar Ekibi

Zaman zaman Windows Phone aygıtınıza ait bilgilere ulaşmanız gerekebilir. Böyle bir durumda emulatör yerine gerçek bir aygıt üzerinde test etmemiz uygun olacaktır. Aşağıdaki örnekte şu bilgilere ulaşmaya çalışacağız:

  • Manufacturer
  • Device Name
  • Device ID
  • Firmware Version
  • Hardware Version
  • Total Memory
  • Application Current Memory Usage
  • Application Peak Memory Usage

Bu örnekte, DispatcherTimer vasıtasıyla her 3 saniyede bir bilgileri güncelleyen 8 adet Textblock nesnesine sahip bir uygulama geliştireceğiz. Uygulamamızın görünüşü aşağıdaki gibi olacaktır.

Cihaz Bilgilerini alan Örnek uygulamamızın ekran görünümü

Aşağıda, ilgili Textblock nesneleriyle çekeceğiniz bilgiler eşleştirilmiştir:

  • Manufacturer =textBlock2
  • Device Name =textBlock4
  • Device ID =textBlock6
  • Firmware Version =textBlock8
  • Hardware Version =textBlock10
  • Total Memory =textBlock12
  • Application Current Memory Usage =textBlock14
  • Application Peak Memory Usage =textBlock16

Öncelikle bir DispatcherTimer nesnesi oluşturun. DispatcherTimer nesnesi belirli zaman aralıklarında tekrar eden işleri gerçekleştirmek için kullanabileceğiniz bir nesnedir. Elbette, bunu dahil etmek için, System.Windows.Threading namespace’ini projenize eklemeniz gerekir.

DispatcherTimer timer;

Device ID bilgisini string formatında çekmek için bir değişken tanımlayın:

public static string val;

Device ID’yi byte tipinde döndüren ve bunu val adlı string değişkene aktaran bir fonksiyon geliştirin. DeviceExtendedProperties cihaza ait özelliklere erişmek için kullanacağımız sınıfın ismidir.

public static byte[] GetDeviceUniqueID()
{
    byte[] result = null;
    object uniqueId;
    if (DeviceExtendedProperties.TryGetValue("DeviceUniqueId", out uniqueId))
    {
        result = (byte[])uniqueId;
    }
    val = Convert.ToBase64String(result);
    return result;
}

Device ID’yi doğrudan çekseydik, bize byte tipinde veriler gönderecekti. Dolayısıyla burada yaptığımız, aslında Unique ID’yi bulmak oldu. Şimdi yapacağımız işlemde DispatcherTimer nesnesini kullanacak ve DeviceUniqueID’yi bulacağız. TimeSpan nesnesi zaman değerlerini istediğimiz formatlarda ayarlamamıza olanak sağlar. Örneğimizde 3 parametre yer almaktadır: Saat, Dakika, Saniye. Yani her 3 saniyede bir zamanlayıcımızın tetiklenmesini sağlıyoruz.

timer = new DispatcherTimer();
timer.Interval = new TimeSpan(0, 0, 3);
timer.Tick += new EventHandler(timer_Tick);
timer.Start();
GetDeviceUniqueID();

Elbette, timer_Tick fonksiyonunu da unutmayın:
void timer_Tick(object sender, EventArgs e)
{
    try
    {
        textBlock2.Text=DeviceExtendedProperties.GetValue("DeviceManufacturer").ToString();
        textBlock4.Text = DeviceExtendedProperties.GetValue("DeviceName").ToString();
        textBlock6.Text = DeviceExtendedProperties.GetValue("DeviceID").ToString();
​        textBlock8.Text = DeviceExtendedProperties.GetValue("DeviceFirmwareVersion").ToString();
        textBlock10.Text = DeviceExtendedProperties.GetValue("DeviceHardwareVersion").ToString();
        textBlock12.Text = DeviceExtendedProperties.GetValue("DeviceTotalMemory").ToString();
        textBlock14.Text = DeviceExtendedProperties.GetValue("ApplicationCurrentMemoryUsage").ToString();
        textBlock16.Text = DeviceExtendedProperties.GetValue("ApplicationPeakMemoryUsage").ToString();
    }
    catch (Exception ex)
    {
    }
}

DeviceExtendedProperties kullanarak WP aygıtına ait bilgilere erişebilirsiniz.

Uygulamamız çalıştırılınca