Makale Özeti

Phone 7 de uygulama gelştirirken, telefonumuza ait task'lere de erişme şansını yakalıyoruz. Bu makalemizde telefonumuzun kamera özelliği, sms veya e-posta gönderimi gibi task'lerin kullanımına uygulamamız içerisinden erişim sağlayacağız.

Makale

Merhaba, bu makalemizde Windows Phone 7 Tasks Library içinde yer alan bazı sınıfların kullanımlarını temel düzeyde, örneklerle ele alacağız.

Task sınıfları Microsoft.Phone.Tasks namespace içinde yer almaktadır. Yeni bir Silverlight Phone projesi oluşturduğumuzda Microsoft.Phone.dll isimli referansın eklenmiş olduğunu göreceğiz. Aşağıdaki sınıfları kullanabilmek için namespace belirtmek yeterli olacaktır.

Task Sınıfları

CameraCaptureTask Kamera uygulamasını başlatmak için kullanılır. Bu sayede uygulamamız içinden fotoğraf çekme yeteneğine kavuşmuş oluruz.
EmailAddressChooserTask Phone 7 içindeki rehbere erişmek için kullanılır. Uygulamamız içinden rehberi açmamızı sağlayacaktır.
EmailComposeTask E-Posta uygulamasını başlatır. Bu sınıf ile e-posta gönderebiliriz.
EmailResult E-Posta sonuç bilgileri barındırır.
MarketplaceDetailTask Windows Phone Marketplace ürünlerinin detay sayfalarını barındırır.
MarketplaceHubTask Marketplace client uygulamayı başlatmak için kullanılır.
MarketplaceReviewTask Windows Phone Marketplace ürünlerinin yorum sayfalarını barındırır.
MarketplaceSearchTask Windows Phone Marketplace ürünleri için arama sonuçlarını tutar.
MediaPlayerLauncher Media player uygulamasını başlatır.
PhoneCallTask Telefon uygulamasını başlatır.
PhoneNumberChooserTask Rehbere erişilir. Rehberden kişiye ait tel. numarası seçimi için kullanılır.
PhotoChooserTask Fotoğrafların listelenmesini ve üzerinden istediğimiz fotoğrafı seçebilmemizi sağlar.
SaveEmailAddressTask E-Posta adresinin kaydedilmesi için kullanılır.
SavePhoneNumberTask Tel. No. kaydedilmesi için kullanılır.
SearchTask Belirtilen string kelimeye göre internet üzerinden arama yapılabilmesini sağlar.
SmsComposeTask Sms göndermemizi sağlar.
WebBrowserTask Web Browser'ın başlatılmasını sağlar.

Yukarda açıklamalarını belirttiğimiz sınıflardan bazılarını kullanalım.

Örnek SearchTask: Verilen string arama değerine uygun sonuçları listeleyecektir. Aşağıdaki kod satırını Silverlight Phone 7 bir buton altına kopyalarsak aşağıdaki sonuçları göreceğiz. Sonuç listesinden önce bir defa gelen uyarıya 'Allow' diyerek izin vermeliyiz.

 private void Btn_Click(object sender, RoutedEventArgs e) {

    SearchTask searchTask = new SearchTask();

    searchTask.SearchQuery = "Phone 7";

    searchTask.Show();

 }

Şimdi de Rehberden bir kişi seçerek e-posta gönderme örneği yapalım.

 private void Btn_Click(object sender, RoutedEventArgs e) {

   EmailAddressChooserTask adresTask = new EmailAddressChooserTask();

   adresTask.Completed += new EventHandler<EmailResult>(adresTask_Completed);

   adresTask.Show();

 }

  

 private void adresTask_Completed(object sender, EmailResult e) {

   if (e.TaskResult == TaskResult.OK) {

     EmailComposeTask mailCompose = new EmailComposeTask();

     mailCompose.To = e.Email;

     //-- mailCompose.Cc = "";

     mailCompose.Subject = "Windows Phone 7";

     mailCompose.Body = "These sentences will be body part of the my e-mail. Best Regards.";

     mailCompose.Show();

   }

}

 

Son olarak Phone7 kamera kullanma örneği yazalım. Kamera ile çekilen fotoğrafı telefonumuzun media kütüphanesine de ekleyebiliriz. Bunun için ayrıca uygulamıza Microsoft.Xna.Framework'ü referans olarak eklemeliyiz.

 

  using Microsoft.Xna.Framework.Media;

 

  private void Btn_Click(object sender, RoutedEventArgs e) {

      CameraCaptureTask camTask = new CameraCaptureTask();

      camTask.Completed += camTask_Completed;

      camTask.Show();

  }

 

  private void camTask_Completed(object sender, PhotoResult e) {

      if (e.TaskResult == TaskResult.OK) {

        MediaLibrary library = new MediaLibrary();

        Picture picture = library.SavePicture("Resim_1" + ".jpg", e.ChosenPhoto);

      }

  }

 

Benzer şekilde Windows Phone 7 için uygulamamız içinden diğer task library'leri de basitçe kullanmamız mümkün olacaktır.

Kolay gelsin.