Задачи выбора и запуска

Добрый вечер всем!

Это 13 статья цикла Windows Phone 7 для начинающих и сегодня мы с вами говорим о функциях ОС, которыми можно пользоваться прямо из приложения.

Когда разрабатываешь приложение на мобильной платформе, рано или поздно приходится задуматься над тем, где же взять картинку, можно ли отправить смс или позвонить из приложения и т.п. Бывают приложения, основной функцией которых является одна из этих задач. Для этого и существуют задачи выбора и задачи запуска.

Задачи выбора

Задачи выбора - это некоторый набор задач, при котором мы что-то выбираем. Например, телефон из телефонной книги устройства или картинку из галереи. Когда я впервые столкнулся с платформой, я бросился в разработку, даже не полистав документацию. Потому было довольно сложно найти, как же все-таки добавить картинку из галереи в приложение. Сейчас это сделать просто, а тем более, сейчас я вам еще и покажу с помощью чего. Итак, какие же бывают задачи выбора:

  • CameraCaptureTask – эта задача позволяет пользователю получить фото с камеры для дальнейшего использования в приложении.
  • EmailAddressChooserTask – позволяет пользователю выбрать email адрес из Контактов для того что бы использовать его в приложении.
  • PhoneNumberChooserTask – позволяет пользователю выбрать номер телефона Контактов для того что бы использовать его в приложении.
  • PhotoChooserTask – позволяет выбрать изображение из галереи для использования в приложении.

Для того, что бы использовать задачи, необходимо подключить пространство имен Microsoft.Phone.Tasks. Попробуем получить Email:

EmailAddressChooserTask eact = new EmailAddressChooserTask();
eact.Completed += new EventHandler<EmailResult>(eact_Completed);
eact.Show();

А вот и обработчик события:

void cct_Completed(object sender, PhotoResult e)
{
EmailBlock.Text = e.Email;
}

Все довольно просто и в стандартном эмуляторе есть набор картинок и контактов, из которых можно выбирать :)

Задачи запуска

Задачи запуска это что-то вроде сделал и забыл. Вот, например при работе с приложением, вы находите замечательную статью и решаете поделиться с другом. В приложении есть кнопка отправить смс, вы ее жмете, выбираете кому, отправляете и забываете об этом. Вот и тут так, вот список, что можно таким образом запустить во время работы приложения:

  • EmailComposeTask – Позволяет отправить письмо, используя email аккаунт.
  • MarketplaceDetailTask – Запускает Marketplace, и показывает предложения указанного приложения.
  • MarketplaceHubTask – Запускает Marketplace и позволяет выбрать категорию приложений, отображаемых по умолчанию.
  • MarketplaceReviewTask – Запускает Marketplace для просмотра данных о текущем приложении.
  • MarketplaceSearchTask – Запускает Marketplace с фильтром(поиском) по заданному термину.
  • MediaPlayerLauncher – Запускает Media Player для воспроизведения указанного файла.
  • PhoneCallTask – Запускает окошко с телефонным номером и именем. Набор после нажатия  “Call.”
  • SearchTask – Производит поиск в Bing с телефона.
  • SMSComposeTask – Запускает приложение Messaging и дает пользователю возможность отправлять сообщение. Вы можете задать получателя и текст, но пользователь все равно должен будет отправить его.
  • WebBrowserTask – Запускает браузер и переходит по указанной ссылке.
SmsComposeTask sct = new SmsComposeTask();
sct.To = "5555555555";
sct.Body = "Call me when you have a chance.  Let's do lunch today.";
sct.Show();

Если есть необходимость, могу выложить пример для каждой из задач.

Важно: Не все задания будут работать на эмуляторе. Например, отправка почты и Email не выйдет ввиду отсутствия связи и почтового аккаунта, который нельзя настроить на эмуляторе.