PDAnews.ru >> Главная >> Статьи, обзоры >> Android >>
SMS Balance для Андроид
+++++
14 августа 2011 г.

Краткое описание:

Данный виджет будет отображать вам текущий баланс денежных средств на вашем счету. Обновление баланса происходит при каждом нажатии. Последним отражается последнее изменения счета.

Принцип работы:

Запрос баланса осуществляется с помощью смс-сообщения на сервисный номер оператора. Абонент получает ответное смс оператора с запрашиваемой текущей суммой, которая будет отображаться на виджете.

Специальный сервис с возможностью запрашивать баланс по сообщению имеется лишь у МТС и Мегафона, поэтому обращаем ваше внимание, что данный виджет можно нормально использовать лишь имея сим-карты указанных абонентов. Для TELE2 и Билайна существует только отправка ussd-запроса.

Почему не использовать ussd-запросы (вида *100#)?
И не стоит использовать потому, что в Андроид API на сегодняшнее время не имеется полноценной поддержки ussd-запросов.

Возможные проблемы и их решения:

Для начала надо попробовать выбрать вариант с упрощенным шаблоном ("MTS (simple pattern)" или "Megafon (simple pattern)"). Он точно найдет первое вхождение цифр с разделителем (например: "9.99" или "-99,9").
Если же надпись апдейт все равно показывает вам "не найден", это означает, что запрашиваемая сумма не найдена. Тогда нужно вводить собственный шаблон поиска (смотрите "RegExp pattern").

Если надпись апдейт меняется на надпись "ошибка", это означает, что шаблон настроен неверно,
найденное значение не получается преобразовать в число. Тут следует вывод, что возможно в результат попало что-то кроме цифр.

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

Настройки:

"Начальные":
"Your mobile operator" - ваш оператор.

"Currency" - добавление обозначения валюты запрашиваемого баланса

"Show difference" - отображение последнего изменение счета. Отрицательное изменение будет подсвечиваться красным цветом, положительное соответственно зеленым цветом.

"Продвинутые":

"Notification timeout (msec)" - эта опция является служебной, здесь трогать ничего не надо. "External firewall" - если эта функция выключена, это значит, что используются встроенные ресурсы для подавления оповещения об ответном сообщении от оператора.

Встроенное подавление оповещений на сегодняшний момент не особо совершенно, оповещение все-таки отображается на пару секунд, а также может "ругаться" с другими приложениями, реализующими с помощью подобной функции (к примеру, Handcent SMS).

Поэтому рекомендуется использовать в качестве внешнего aFirewall. Включите данную опцию, установите aFirewall, внесите сервисный номер вашего оператора в черный список и вуаля! Виджет будет работать корректно и лишние оповещения при обновлениях появляться не будут.

"RegExp pattern" - использование собственного шаблона для поиска суммы в ответном сообщении от оператора (если шаблон не указан, будет использован шаблон автоматически). Вообще шаблоны задаются с использованием языка «регулярных выражений».
В качестве автоматического шаблона используется следующий:

(?<=(баланс)(:)?)(-)?[0-9]+(.|,)[0-9]{1,2}

Этот шаблон распознает следующие ответы:

Баланс:9.99руб
Баланс: -9,9 руб
Ваш баланс 99.99

и аналогичные. Вводить этот шаблон не надо.

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

Начинать экспериментировать лучше с самого "не чувствительного" шаблона, который с легкостью сможет распознать любую сумму (предупреждаем, что вероятны ложные срабатывания, если в смс есть другие суммы, кроме счета):

(-)?[0-9]+(.|,)[0-9]{1,2}

Перед проверкой ответного сообщения от оператора из него будут удалены все пробелы, поэтому их в шаблоны включать не нужно. Если вы хотели бы использовать в собственном шаблоне кириллицу, необходимо указать символы кириллицы в виде UTF-кода, допустим "я" - это "u044F". Для возможности использовать подобные коды, скачайте утилиту TextToUTF.

Скачайте файл, где содержится много полезной информации об этом виджете.

SMS Balance для Андроид
1 2 3 4 5

Оставьте комментарий

Имя*:

Введите защитный код

ПОПУЛЯРНЫЕ ПРОГРАММЫ
ПОПУЛЯРНЫЕ ИГРЫ

Archos 32 09 сентября 2011 г.
Archos 32

Изменение типов контактов в Android 1.5 05 сентября 2011 г.
Изменение типов контактов в Android 1.5

Как перенести контакты с Nokia на Android 05 сентября 2011 г.
Как перенести контакты с Nokia на Android

Синхронизация и перенос контактов между Mac OS и Андроид 05 сентября 2011 г.
Синхронизация и перенос контактов между Mac OS и Андроид

Android GUI PSD v.2.0 05 сентября 2011 г.
Android GUI PSD v.2.0

Словари для OS Android 15 августа 2011 г.
Словари для OS Android

SMS Balance для Андроид 14 августа 2011 г.
SMS Balance для Андроид

Создание виртуального девайса Андроид на вашем ПК 03 августа 2011 г.
Создание виртуального девайса Андроид на вашем ПК

Ovi Browser Beta для платформы S40 22 сентября 2011 г.
Ovi Browser Beta для платформы S40

Распознавание текста на Symbian 27 августа 2011 г.
Распознавание текста на Symbian

Пример использования QT Animation Framework 27 августа 2011 г.
Пример использования QT Animation Framework

QTWegkit - пример использования Listem 27 августа 2011 г.
QTWegkit - пример использования Listem

APIBridge 1.00.5 Symbian S60 27 августа 2011 г.
APIBridge 1.00.5 Symbian S60

Игра Sparkle для Symbian^3 25 августа 2011 г.
Игра Sparkle для Symbian^3

Symbian S60 :: Qt - пример работы с вкладками 25 августа 2011 г.
Symbian S60 :: Qt - пример работы с вкладками

Краткий обзор Symbian 3 25 августа 2011 г.
Краткий обзор Symbian 3