SMS-сообщения
SMS-сообщения
Отправка SMS-сообщения с помощью новых возможностей тоже очень и очень проста. Эти сообщения весьма популярны у владельцев мобильных телефонов. Раньше для отсылки и приема SMS
приходилось использовать неуправляемый код, очень сложный для восприятия неопытным программистом. Теперь создать код, отсылающий сообщение, не сложнее, чем написать само сообщение, что иллюстрирует листинг 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-сообщения