День седьмой. Launcher (Задачи выполнения)

Вступление

В Windows Phone 7 содержится целый ряд классов-задач, называемых Launcher (Задачи выполнения) и Choosers (Задачи выбора). Сегодня поговорим о задачах выполнения.

Что такое Задача выполнения?

Задача выполнения - это особый механизм запуска задачи. Вы запускаете определенную задачу: послать письмо или SMS, позвонить, запустить медиаплеер, перейти на указанный URL и т.п. К сожалению, часть задач доступно только на реальном устройстве, а на эмуляторе показывается только приблизительный аналог. Обратите внимание, что мы только делаем необходимые приготовления (заполняем адрес, текст письма), а запускает задачу только пользователь. Нельзя запустить задачу без ведома владельца телефона.

Список задач выполнения

Для начала необходимо установить ссылку на пространство имен Microsoft.Phone.Tasks


using Microsoft.Phone.Tasks;

Теперь мы можем выбрать любую доступную задачу. Принцип работы с задачами следующий: сначала мы устанавливаем необходимые свойства для задачи, а затем вызываем метод Show().

PhoneCallTask - запускаем диалог для звонка

Запускает встроенный диалог операционной системы для осуществления звонка. Можно указать номер и отображаемое имя абонента. Звонок не осуществляется, пока пользователь не нажмёт кнопку «позвонить».


PhoneCallTask phoneCallTask = new PhoneCallTask();
phoneCallTask.PhoneNumber = "55555555577";
phoneCallTask.DisplayName = "Gaga";
phoneCallTask.Show();

SmsComposeTask - посылаем SMS-сообщение

Запускает приложение для отправки сообщений. Можно определить получателя и тело сообщения, но пользователь должен сам нажать кнопку «Отправить»


SmsComposeTask smstask = new SmsComposeTask();
smstask.To = "5555555555";
smstask.Body = "Не забудь купить вискас для кота";
smstask.Show();

EmailComposeTask - посылаем email

На телефоне должна быть настроена учетная запись электронной почты, чтобы не получить сообщение об ошибке.


EmailComposeTask emailcomposer = new EmailComposeTask();
emailcomposer.To = "<a href="mailto:mail@alexanderklimov.ru">mail@alexanderklimov.ru</a>";
emailcomposer.Subject = "Тема";
emailcomposer.Body = "Не забудь погладить кота";
emailcomposer.Show();

WebBrowserTask - запускаем браузер по указанному адресу

Мы можем также запустить браузер с указанным адресом. Например, мы можем перейти на знакомый вам сайт следующим образом.


WebBrowserTask browser = new WebBrowserTask();
browser.URL = "http://developer.alexanderklimov.ru";
browser.Show();            

Запускаем браузер

MediaPlayerLauncher - запускаем встроенный плеер и проигрываем заданный файл


MediaPlayerLauncher mediaPlayerLauncher = new MediaPlayerLauncher();
mediaPlayerLauncher.Media = new Uri("MyVideo.wmv", UriKind.Relative);
mediaPlayerLauncher.Location = MediaLocationType.Data;
mediaPlayerLauncher.Controls = MediaPlaybackControls.Pause | MediaPlaybackControls.Stop;
mediaPlayerLauncher.Show();

SearchTask запускаем поиск в Bing из Вашего приложения


SearchTask searchTask = new SearchTask();
searchTask.SearchQuery = "Cats";
searchTask.Show();

MarketplaceHubTask - запускаем Marketplace

Можно определить категорию приложений, которая будет отображаться.


var marketplaceHubTask = new Microsoft.Phone.Tasks.MarketplaceHubTask();
marketplaceHubTask.ContentType = MarketplaceContentType.Music;
marketplaceHubTask.Show(); 

Примечание: если у вас есть подключение к интернету, то через эмулятор можно подключиться к Marketplace. При первой попытке появится сообщение об ошибке. Не обращайте внимания. Вернитесь назад и снова нажмите кнопку, выполняющую код. И вы сможете бродить по разделам магазина. Жаль, скачать ничего не получится.

Marketplace

MarketplaceReviewTask - запускаем Marketplace и отображаем данные о текущем приложении.


MarketplaceReviewTask marketplaceReviewTask = new MarketplaceReviewTask();
marketplaceReviewTask.Show();

MarketplaceDetailTask - запускаем Marketplace и отображаем данные о заданном продукте


MarketplaceDetailTask marketplaceDetailTask = new MarketplaceDetailTask();
marketplaceDetailTask.ContentIdentifier = "<ID>";
marketplaceDetailTask.ContentType = MarketplaceContentType.Applications;
marketplaceDetailTask.Show();

MarketplaceSearchTask - запускаем Marketplace с поисковым запросом


MarketplaceSearchTask marketsearch = new MarketplaceSearchTask();
marketsearch.SearchTerms = "cat";
marketsearch.Show(); 

Для поиска песни


MarketplaceSearchTask marketplaceSearchTask = new MarketplaceSearchTask();
marketplaceSearchTask.ContentType = MarketplaceContentType.Music;
marketplaceSearchTask.SearchTerms = "song title";
marketplaceSearchTask.Show();
Реклама