День седьмой. Launcher (Задачи выполнения)
Вступление
В Windows Phone 7 содержится целый ряд классов-задач, называемых Launcher (Задачи выполнения) и Choosers (Задачи выбора). Сегодня поговорим о задачах выполнения.
Что такое Задача выполнения?
Задача выполнения - это особый механизм запуска задачи. Вы запускаете определенную задачу: послать письмо или SMS, позвонить, запустить медиаплеер, перейти на указанный URL и т.п. К сожалению, часть задач доступно только на реальном устройстве, а на эмуляторе показывается только приблизительный аналог. Обратите внимание, что мы только делаем необходимые приготовления (заполняем адрес, текст письма), а запускает задачу только пользователь. Нельзя запустить задачу без ведома владельца телефона.
Список задач выполнения
- PhoneCallTask
- SmsComposeTask
- EmailComposeTask
- WebBrowserTask
- MediaPlayerLauncher
- SearchTask
- MarketplaceHubTask
- MarketplaceReviewTask
- MarketplaceDetailTask
- MarketplaceSearchTask
Для начала необходимо установить ссылку на пространство имен 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:[email protected]">[email protected]</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. При первой попытке появится сообщение об ошибке. Не обращайте внимания. Вернитесь назад и снова нажмите кнопку, выполняющую код. И вы сможете бродить по разделам магазина. Жаль, скачать ничего не получится.
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();
Реклама