1. Гость!!! По вопросам размещения рекламы на форуме обращайтесь по адресу: idoktor.ivanov[собачка]mail.ru

SMS Balance

Тема в разделе "Контакты, звонки, SMS/MMS", создана пользователем MobileHELP, 29 мар 2016.



  1. MobileHELP

    MobileHELP HELP ME! If you can ;) Команда форума

    SMS Balance
    версия: 10.3.21 beta

    Последнее обновление программы в шапке: 21.03.2010

    Прикрепленное изображениеПрикрепленное изображение

    Описание:
    Виджет, отображает баланс денежных средств на счету абонента. Обновляется при нажатии. Есть отображение последнего изменения баланса.

    Дизайн для виджета разработан пользователем andy1394

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

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

    Что делать если ответ оператора не распознается?
    - во-первых, попробуйте выбрать соответствующий вариант с упрощенным шаблоном ("MTS (simple pattern)" или "Megafon (simple pattern)"), который 100% найдет первое вхождение цифр с разделителем (например: "9.99" или "-99,9").
    - если надпись «update...» все-равно сменяется «not found» - значит сумма не найдена, в этом случае необходимо ввести свой шаблон поиска (см. опцию «RegExp pattern»).
    - если надпись «update...» сменяется «error» - это говорит о неправильно настроенном шаблоне, найденное значение невозможно преобразовать в число, скорее всего в результат попало что-то кроме цифр.
    - если «update...» остается после поступления ответной sms - значит номер ответной sms не распознан как сервисный номер оператора (для некоторых операторов номер ответа отличается от номера на который посылаем запрос), в таком случае надо сообщить об этом мне.
    - если происходит ошибка "Force close" - ищем в корне sd-карты файл SMSBalance.trace и присылаем его мне.

    Настройки:
    «Базовые»:
    - «Your mobile operator» - Ваш оператор, тут итак я думаю, все ясно.
    - «Currency» - добавлять обозначение валюты к балансу, например у меня установлено «р.»
    - «Show difference» - отображать последнее изменение баланса. Отрицательное изменение подсвечивается красным, положительное – зеленым.

    «Продвинутые»:
    - «Notification timeout (msec)» - служебная опция, изменять не рекомендуется.
    - «External firewall» - (не изменять в Android 2.1) если выключена, то используются встроенные средства для подавления оповещения об ответном sms оператора. Встроенное подавление оповещений не очень совершенно на данный момент, оповещение все же появляется на 1-2 сек, к тому же может конфликтовать с другими программами реализующими подобный функционал (например Handcent SMS). Поэтому я рекомендую использовать в качестве внешнего aFirewall. Включаете эту опцию, устанавливаете aFirewall, заносите сервисный номер Вашего оператора в черный список и готово! Виджет работает, при этом лишние оповещения при обновлении не появляются.
    «RegExp pattern» - использовать свой шаблон для поиска суммы в ответном sms оператора (если шаблон не указан, то используется шаблон по-умолчанию). Шаблон задается с помощью языка «регулярных выражений» (описание в Википедии).
    В качестве шаблона по-умолчанию используется (вводить не надо):
    (?<=(баланс)(:)?)(-)?[0-9]+(\.|,)[0-9]{1,2}

    Этот шаблон распознает такие ответы как:
    Баланс:9.99руб
    Баланс: -9,9 руб
    Ваш баланс 99.99

    и им подобные.
    Если Ваш оператор все же присылает ответ в каком-то своем особенном формате, эта опция дает возможность ввести свой собственный шаблон, ограниченный только синтаксисом регулярных выражений (описание синтаксиса легко найти в Интернете).
    Начинать свои эсперементы я бы советовал с самого «не чувствительного» шаблона, который наверняка распознает любую сумму (но возможны ложные срабатывания, если в sms есть др. суммы, кроме баланса):
    (-)?[0-9]+(\\.|,)[0-9]{1,2}

    Перед проверкой текста ответа оператора из него удаляются пробелы, поэтому использовать их в шаблоне не надо. Если Вы хотите использовать в своем шаблоне символы кириллицы, то нужно указывать их в виде UTF-кода, например "я" - это "\u044F". Для получения таких кодов рекомендую воспользоваться утилитой: Прикрепленный файлTextToUTF.exe ( 336 КБ )

    «Save received SMS» - записывает ответную sms с сервисного номера в файл "/sdcard/ReceivedSMS.txt". Если ответ оператора по каким-то причинам не распознается, сообщите мне, приложив этот файл.

    Скачать:
    Актуальная версия: 10.3.21 beta


    Сообщение отредактировал coder1cv8 - 01.04.2010, 16:55
    Причина редактирования: новая версия
     

Поделиться этой страницей