Вход/Регистрация
Программирование КПК и смартфонов на .NET Compact Framework
вернуться

Климов Александр Петрович

Шрифт:

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

Листинг 10.9.

private void butSendSMS_Click(object sender, EventArgs e) {

 ChooseContactDialog contactDialog = new ChooseContactDialog;

 contactDialog.Title = "Выберите получателя";

 if (contactDialog.ShowDialog == DialogResult.OK) {

// Создаем SMS-сообщение

SmsMessage message = new SmsMessage(

contactDialog.SelectedContact.MobileTelephoneNumber,

"Купи хлеба. Жена");

message.RequestDeliveryReport = true;

// Посылаем сообщение

message.Send;

 }

}

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

Контакты
, то придется воспользоваться другим кодом.

Здесь я хочу сделать небольшое отступление и открыть вам большой секрет. Разработчик может посылать SMS-сообщения самому себе при помощи эмулятора! Если послать SMS-сообщение из эмулятора на телефонный номер 4250010001, то оно вернется на эмулятор (рис. 10.7).

Итак, необходимо отправить SMS-сообщение человеку, чья учетная запись не отражена в списке

Контакты
. Для этого используется код, приведенный в листинге 10.10.

ПРИМЕЧАНИЕ

При отладке приложения в эмуляторе надо использовать целевое устройство типа «Phone Edition». Если проверять пример в обычном эмуляторе, то будет отображено сообщение об ошибке «Could not load sms.dll». Впрочем, это не удивительно. Если эмулятор не имеет телефонных функций, то как можно отправлять SMS-сообщение?

Листинг 10.10

private void butSendSMS2_Click(object sender, EventArgs e) {

 SmsMessage message = new SmsMessage;

 // Номер получателя

 message.To.Add(new Recipient("4250010001"));

 // Текст сообщения

 message.Body = "Позвони домой";

 // Посылаем сообщение

 message.Send;

}

Результат выполнения этого кода приведен на рис. 10.7.

Рис. 10.7. Прием SMS-сообщения

Прием и обработка SMS-сообщений

Итак, мы научились отправлять SMS-сообщения из своей программы. Но было бы неплохо научить приложения принимать подобные сообщения. Для приема сообщений существует пространство имен

MessageInterception
, которое находится в сборке
Microsoft.WindowsMobilе.PocketOutlook
.

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

С этой возможностью стоит познакомиться ближе. После создания нового проекта

InterceptionSMS_CS
, нужно добавить на форму кнопку для отсылки SMS-сообщения, флажок
chkAlert
для установки флага срочности и текстовое поле, в котором будет содержаться текст SMS-сообщения. Затем надо задать ссылки на уже применявшиеся ранее сборки
Microsoft.WindowsMobile
и
Microsoft.WindowsMobile.PocketOutlook
. Код, отвечающий за обработку принятых сообщений, приведен в листинге 10.11

Листинг 10.11

using Microsoft.WindowsMobile;

using Microsoft.WindowsMobile.PocketOutlook;

using Microsoft.WindowsMobile.PocketOutlook.MessageInterception;

// Объявляем переменную

private MessageInterceptor smsInterceptor;

private void smsInterceptor_MessageReceived(object sender,

 MessageInterceptorEventArgs e) {

 // Обработка входящего сообщения

 MessageBox.Show("К вам пришло срочное сообщение");

}

private void butSendSMS_Click(object sender, EventArgs e) {

 SmsMessage message = new SmsMessage;

 // Номер получателя

 message.To.Add(new Recipient("4250010001"));

 // Текст сообщения

 if (chkAlert.Checked) {

// Если взведен флажок, то добавляем слово Срочно!

  • Читать дальше
  • 1
  • ...
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: