А сегодня, дорогие ребята, я расскажу вам одну очень интересную и правдивую сказку. Сказка эта повествует об одной глобальной команде, которая хорошо знакома всем, кому когда-либо приходилось открывать Flash для того, чтобы сделать баннер. Зовут ее getURL(). Не правда ли, до боли знакомое имя?
Итак, жила-была эта команда в SWF ролике, никого не трогала. Иногда посылала пользователя на слово из трех букв. Ну что же ты, Вовочка! На «URL», а не на то, что ты тут говоришь… Иногда вызывала девок на дом JavaScript на странице. И так длилось много лет. Пока злые дядьки из компании Macromedia не решили переселить ее на мобильный телефон, чтобы заработать на этом дополнительные денежки. И вот тут начались у старушки getURL() черные денечки. Как-то не заметно для нее увеличился круг ее ежедневных обязанностей: теперь помимо прочих дел она должна была обрабатывать и соответствующим образом реагировать на новые параметры…
Ну а теперь серьезно. В версии Flash Lite 1.0 глобальная команда getURL() стала поддерживать три новых протокола. Хотя называть их протоколами не совсем верно. Впрочем, судите сами. Вот их названия: «sms», «mms» и «tel». Вкуснятина, не правда ли? Рассмотрим все это более подробно.
Отправляем SMS
Чтобы узнать, может ли девайс, на котором запущен SWF ролик отправлять SMS-сообщения с использованием команды getURL(), можно обратиться к следующим свойствам: к глобальному свойству _capSMS или к свойству объекта Capabilities System.capabilities.hasSMS (второе рекомендуется использовать во Flash Lite 2 и более поздних версиях проигрывателя).
Чтобы передать sms-сообщение, нужно вызвать getURL() со строковым параметром, в котором в качестве протокола указать «sms:», затем без пробелов написать номер телефона и через знак вопроса присвоить параметру «body» текст сообщения. Вот пример отправления sms-сообщения, с проверкой возможности его отправки:
-
smsButton.onRelease = function() {
-
if (System.capabilities.hasSMS) {
-
var msg:String = "sms:123456789?body=Превед, красавчег!";
-
getURL(msg);
-
}
-
}
Отправляем MMS
Аналогично обстоят дела и с отправкой MMS-сообщений. Для проверки возможности подобной отправки используйте свойство _capMMS или System.capabilities.hasMMS:
-
mmsButton.onRelease = function() {
-
if (System.capabilities.hasMMS) {
-
// посылаем как MMS
-
var msg:String = "mms:123456789?body=Моя мега-эмэмеска.";
-
getURL(msg);
-
} else if(System.capabilities.hasSMS){
-
// посылаем как SMS
-
var msg:String = "sms:123456789?body=Пора бы трубу сменить.";
-
getURL(msg);
-
}
-
}
Звоним другу
Ну а здесь совсем просто, даже проверять ничего не надо, поскольку звонить может любой исправный сотовый телефон:
-
telButton.onRelease = function(){
-
getURL("tel:123456789");
-
}
На заметку
После вызова команды getURL() Flash Lite плеер всегда задает вопрос (выдает запрос =), в котором интересуется, можно ли позволить приложению отправить сообщение (позвонить) на такой-то номер телефона. В ответ на это пользователь может разрешить (нажать кнопку «Allow») или запретить («Deny») приложению отправлять чтобы-то ни было.