Flash sms с андроида

Как послать flash-SMS?

Flash-SMS – такая SMS, текст которой сразу выводится на экран телефона/смартфона пользователя вместо записи в память устройства. Пользователь её читает и решает, сохранять её в памяти или нет.

Для отправки flash-SMS потребуется использовать так называемый режим PDU — Packet Data Unit. Это режим, который позволяет контролировать все секретные параметры SMS, описанные в ETSI GSM Technical Specification GSM 03.40.
Для доступа к PDU рекомендуется использовать любой GSM-модем или модуль. Некоторые старые телефоны в режиме модема это тоже умели, а по поводу современных смартфонов ничего сказать не могу, ибо не знаю.
Я использовал GSM-модуль Neoway M660, но для модемов/модулей других производителей это должно быть также справедливо.

В режиме PDU SMS-сообщение представляет собой набор данных, передаваемых модему в виде символов ASCII.
Давайте рассмотрим формат передаваемого SMS-сообщения, последовательность команд, подаваемых на GSM-модем, а также сформируем пакет PDU и пошлем flash-SMS «Привет, Хабр!» на гипотетический номер +70123456789.

Формат передаваемого SMS-сообщения в режиме PDU

изображен на картинке:

Название поля PDU Длина, байт Краткое описание
SCA, Service Center Address 1-12 Номер телефона Центра SMS (может не указываться)
PDU Type Тип PDU
MR, Message Reference 1 Порядковый номер сообщения, устанавливаемый самим модемом/модулем
DA, Destination Address 2-12 Номер телефона получателя сообщения
PID, Protocol Identifier 1 Идентификатор протокола
DCS, Data Coding Scheme 1 Кодировка сообщения
VP, Validity Period 0,1 или 7 Время жизни SMS
UDL, User Data Length 1 Длина поля User Data в байтах
UD, User Data 0-140 Сообщение

Итак, рассмотрим назначение отдельных полей пакета PDU передаваемого сообщения.

1. SCA (Service Center Address) — номер телефона Центра SMS (SMSC).
Данное поле не является обязательным, так как номер SMSC хранится на SIM-карте и считывается GSM-модулями Neoway автоматически. Воспользуемся этой возможностью и не будем указывать номер Центра SMS в нашем примере, тем более, что в этом случае содержимое PDU не зависит от используемой SIM-карты. Если номер SMSC в PDU не указывается, поле SCA принимает значение 0x00.
Но если вам всё же захочется считать номер Центра SMS из GSM-модуля, вы всегда можете это сделать с помощью команды AT+CSCA.

2. PDU Type – тип PDU

2.1 RP (Reply Path)
0 — путь для ответа не определен,
1 – путь для ответа определен, используется тот же Центр SMS (SMSC).

2.2 UDHI (User Data Header Included):
0 – поле UD содержит только само сообщение,
1- поле UD содержит сообщение и дополнительный заголовок.

2.3 SRR (Status Report Request):
0 – статус сообщения не запрашивается,
1- статус сообщения запрашивается.

2.4 VPF (Validity Period Format):
00 – поле VP отсутствует,
01 – зарезервировано,
10 – поле VP содержит времянные данные в относительном формате,
11 – поле VP содержит времянные данные в абсолютном формате.

2.5 RD (Reject Duplicates):
0 – SMSC следует переслать сообщение получателю в случае, если оно имеет те же значения полей MR и DA, что и предыдущее сообщение.
1 — SMSC следует отклонить сообщение в случае, если оно имеет те же значения полей MR и DA, что и предыдущее сообщение.

2.6 MTI (Message Type Indicator):
00 – принимаемое сообщение (от SMSC к модулю) или подтверждение приема (от модуля к SMSC)
01 – отправляемое сообщение (от модуля к SMSC) или подтверждение отправки (от SMSC к модулю),
10 – отчет о доставке (от SMSC к модулю) или SMS-команда (от модуля к SMSC)
11 – зарезервировано.

С целью упрощения поле VP (время жизни SMS, см. п. 7) использовать не будем и установим биты VPF в нулевое значение. Также в нулевое значение установим биты RP, UDHI, SRR, RD. Биты MTI отправляемого сообщения необходимо установить в значение 01. Таким образом значение байта поля PDU Type принимаем равным 0x01.

3. MR (Message Reference) – порядковый номер сообщения, определяется самим модулем. В PDU значение поля устанавливается равным 0x00.

4. DA (Destination Address) – номер телефона получателя сообщения.
Поле DA состоит из трёх частей и имеет следующий вид:

Количество цифр в номере получателя Тип номера получателя Номер получателя
1 байт 1 байт 0…6 байт
Читайте также:  Когда можно будет обновиться до андроид

4.1 Количество цифр в номере получателя подсчитывается без учета знака «+» и представляется в шестнадцатеричном формате.
Например, для номера +70123456789 значение байта «Количество цифр в номере получателя» равняется 0x0B (11 в десятичной системе счисления).

4.2 Тип номера получателя.
В случае международного формата номера байт «Тип номера получателя» устанавливается равным 0x91, в случае местного формата – 0x81.

4.3 Номер получателя.
Поле «Номер получателя» формируется следующим образом:
а) в случае международного формата номера знак «+» отбрасывается;
б) если количество цифр в номере нечетное, в конце добавляется «F»;
в) цифры номера попарно переставляются местами.

Например, для номера +70123456789 поле «Номер получателя» будет иметь вид: 0721436587F9, а целиком поле DA – 0B910721436587F9.

5. PID (Protocol Identifier) – идентификатор протокола.
В нашем случае значение поля PID необходимо устанавливать в значение 0x00.
Подробнее об особенностях данного поля можно прочитать в ETSI GSM 03.40, пункт 9.2.3.9.

6. DCS (Data Coding Scheme) – кодировка сообщения.
Вот это и есть то самое поле, которое нас больше всего сейчас интересует! Для отправки сообщений кириллическими символами необходимо использовать кодировку UCS2.
Значение поля DCS в нашем случае следует установить равным 0x18 – это и есть секретная комбинация, позволяющая отправить flash-SMS кириллическими символами (0x08 – обычное SMS).

7. VP (Validity Period) – время жизни сообщения.

Время жизни сообщения – время, по истечении которого сообщение уничтожается (стирается из памяти Центра SMS), если не было доставлено адресату.
Это поле связано с битами VPF поля PDU Type, существует три варианта их совместного использования.

7.1 Поле VP не используется (помните, мы договаривались, что и не будем его использовать в нашем примере?).
В этом случае длина поля VP — 0 байт, биты VPF должны быть установлены в значение 00 (как мы уже и сделали).

7.2 Поле VP содержит данные о времени жизни в относительном формате.
В этом случае длина поля VP — 1 байт, биты VPF должны быть установлены в значение 10 (в двоичной системе).
Возможные значения поля VP в случае использования относительного формата времени и формулы для расчета соответствующего времени жизни сообщения приведены в следующей таблице:

Значение VP шестнадцатеричное Значение VP десятичное Соответствующее значению VP время Максимальное время жизни
1..8F 0… 143 (VP + 1) * 5 минут 12 часов
90..A7 144… 167 12 часов + (VP – 143)*30 минут 24 часа
A8..C4 168… 196 (VP – 166) * 1 день 30 дней
C5..FF 197… 255 (VP – 192) * 1 неделю 63 недели

7.3 Поле VP содержит данные о времени жизни в абсолютном формате.
В этом случае длина поля VP — 7 байт, биты VPF должны быть установлены в значение 11(в двоичной системе).
Назначение байт в поле VP при использовании абсолютного формата времени преведено в этой таблице:

1-й байт 2-й байт 3-й байт 4-й байт 5-й байт 6-й байт 7-й байт
Год Месяц День Час Минуты Секунды Часовой пояс

При этом каждый байт содержит по два десятичных числа, переставленных местами. Например, байт 2 в случае месяца мая будет иметь значение 0x50.
Год представлен последними двумя цифрами.
Часовой пояс указывает разницу между местным временем и временем по Гринвичу (GMT), выраженную в четвертях часа. При этом первый бит указывает знак этой разницы: 0 – разница положительная, 1 – разница отрицательная. То есть байт 7 в случае часового пояса GMT+3 будет иметь значение 0x21.

Так как мы решили не использовать поле VP и установили два бита VPF поля PDU Type в значение 00, то в пакете PDU нашего примера поле VP будет отсутствовать.

8. UDL (User Data Length) – длина поля UD в байтах.
В случае использования интересующей нас кодировки UCS2 значение поля UDL можно вычислить, умножив количество символов в передаваемом сообщении на 2 (каждый символ кодируется двумя байтами). Для сообщения «Привет, Хабр!» поле UDL равно 0x1A (26 в десятичной системе).

9. UD (User Data) – сообщение
Для отправки сообщения кириллицей необходимо использовать кодировку UCS2, в этой кодировке каждая буква или символ кодируется двумя байтами.
Таблица кодировки UCS2 — тут
Сообщение «Привет, Хабр!» в кодировке UCS2 будет выглядеть так:
П: 041F
р: 0440
и: 0438
в: 0432
е: 0435
т: 0442
,: 002C
: 0020
Х: 0425
а: 0430
б: 0431
р: 0440
!: 0021

Читайте также:  Очистить кэш андроид самсунг а20

Привет, Хабр!: 041F04400438043204350442002C002004250430043104400021

Процесс отправки SMS-сообщения

Как только пакет PDU сформирован, процесс отправки SMS не представляет труда и состоит из двух простых шагов:

1. Ввод команды отправки SMS с указанием количества байт в пакете PDU за исключением поля SCA. Звучит не очень дружелюбно, но если не используется номер Центра SMS, то поле SCA равно 0x00 (как у нас) и это число равно количеству байт в пакете PDU минус один. Для «Привет, Хабр!» эта величина — 39:

Важно, чтобы эта команда завершалась символом ‘\r’ (0x0D), без добавок.
После этого GSM-модем выдает приглашение ‘>’ ввести данные пакета PDU.

2. Ввод данных пакета PDU.
В случае сообщения «Привет, Хабр!» пакет PDU выглядит так:
0001000B91хххххххххххх00181A041F04400438043204350442002C002004250430043104400021 (в текстовом виде),

где хххххххххххх – поле номера получателя, у которого переставлены местами цифры и добавлен символ «F» на конце в случае нечетного количества цифр в номере (как описано раньше).
Для номера +79123456789 поле номера получателя будет иметь вид: 9721436587F9,
а весь пакет PDU с сообщением «Привет, Хабр!», отправляемый на этот номер:
0001000B919721436587F900181A041F04400438043204350442002C002004250430043104400021

Ввод данных пакета PDU должен заканчиваться байтом 0x1A

В случае успешной отправки SMS-сообщения модем ответит:

+CMGS: Message_Reference
OK

где Message_Reference — порядковый номер сообщения, установленный модемом (см. описание поля MR пакета PDU).

Источник

Flash SMS: что это такое, как отправить сообщение?

03.05.2021 2 Просмотры

Мобильные телефоны занимают большое место в нашей жизни. Да и просто телефонами их назвать довольно сложно. Если посмотреть на современные смартфоны, то они скорее похожи на компьютеры со множеством дополнительных функций.

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

Flash SMS

Flash-SMS – такая SMS, текст которой сразу выводится на экран телефона/смартфона пользователя вместо записи в память устройства. Пользователь её читает и решает, сохранять её в памяти или нет. В общем-то довольно удобная функция, которая позволит сразу заметить ваше сообщение другому человеку.

Конечно, не всем нравится то, что перед ними выскакивает сообщение, так что это тоже нужно учитывать при отправке. Иначе можно здорово испортить отношения с тем, кому вы послали такое сообщение.

Ну и какое-то секретное сообщение так передать тоже можно. Вы кидаете пользователю флэшку, он её читает и не сохранят. Все, как будто ничего и не было.

Как отправить?

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

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

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

Источник

Как остановить флеш-сообщения на смартфонах Android (Airtel, Vodafone, Idea, BSNL и Jio)

Все они переключились на приложения для обмена мгновенными сообщениями, такие как WhatsApp, и использование обычных текстовых сообщений упало почти до нуля. За исключением OTP и транзакционных сообщений, люди перестали использовать традиционные SMS. Поскольку люди не проверяют свои входящие SMS-сообщения, рекламодатели начали рассылать надоедливые флеш-сообщения для продвижения предложений. Flash SMS определенно раздражает и блокирует весь экран всплывающими окнами, а для их закрытия требуется взаимодействие с пользователем. К счастью, существует простое решение для постоянной остановки флеш-сообщений на любом устройстве Android.

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

Читайте также:  Просмотр автокад для андроид

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

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

Шаги, чтобы отключить флэш-сообщения на Android

Вот общее решение, чтобы остановить флэш SMS на любом смартфоне Android. Для обучения я взял Xiaomi Redmi Note 7 Pro с SIM-картой Vodafone внутри. Однако шаги по отключению флэш-сообщений будут почти такими же для других сетевых провайдеров, таких как Airtel, Idea, BSNL и т. Д. Единственным отличием будет название служб, которые нужно отключить.

  1. Разблокируйте телефон и перейдите в ящик приложений.
  2. открытый SIM Toolkit применение.
  3. Нажмите на услугу флэш-SMS.
  4. щелчок активация,
  5. выбрать деактивировать,
  6. щелчок хорошо для подтверждения.

После того как вы деактивируете или остановите службу, вы никогда не получите рекламное флэш-сообщение от своего сетевого поставщика, если только вы не включите или не перезапустите свой мобильный телефон. Если вы не являетесь пользователем Vodafone, вы можете заметить небольшие различия в формулировках предыдущих шагов. Например, в некоторых сетях это будет Stop / Start вместо Deactivate / Activate. Чтобы устранить путаницу, вот точные названия и этапы обслуживания для каждого поставщика услуг.

Bharti Airtel

Чтобы отключить флэш-сообщения на Android в сети Airtel, откройте SIM Toolkit приложение и сенсорный Airtel сейчас! Сервис. Теперь нажмите Старт / Стоп и выберите остановка полностью отключить флеш SMS. Вы также можете получить текстовое сообщение, подтверждающее отключение услуги.

Кроме того, вы также можете отправлять сообщения ОСТАНОВИТЬ СНОВА в 58234 запросить отключение услуги.

Vodafone

Чтобы остановить флэш-SMS на Android с сетью Vodafone, откройте SIM Toolkit щелчок приложения FLASH! и выберите активация вариант. Здесь нужно нажать деактивировать и выберите хорошо подтвердить выбор.

Как и в Airtel, у вас есть две возможности отключить флеш-сообщения в сети Idea. Первый способ – открыть Идея Сила приложение на вашем мобильном телефоне Android и сенсорный Флэш идея Сервис. Теперь выберите активация вариант и сенсорный деактивировать прекратить обслуживание.

Другой способ, набрав *121 * 46 # с вашего номера телефона по умолчанию.

Пользователи BSNL Android, вы должны открыть BSNL Mobile приложение на телефоне и нажмите BSNL Buzz Service, На этом экране коснитесь активациявыбрать деактивировать и ударил хорошо отключить флэш SMS на вашем мобильном телефоне BSNL.

Опора Джио

Процесс сложный в случае Reliance Jio. К сожалению, на телефонах Android с SIM-картой Jio не удается найти приложение SIM-инструментария для отключения служб в сети. Лучший способ отключить полноэкранные всплывающие окна в Jio – это связаться со службой поддержки по адресу @JioCare вместе с вашим номером мобильного телефона. Вы можете отключить эти объявления для вашего номера уровня сервера.

В то же время вы можете также попытаться удалить Jio 4G Voice, MyJio, Jio Music, Jio Movies и все другие приложения Jio одно за другим, чтобы убедиться, что ни одно из них не отвечает за отображение флэш-сообщений.

сеть
Шаги, чтобы остановить флэш SMS

Airtel SIM Toolkit> Airtel сейчас! > Пуск / Стоп> Стоп> Принять Vodafone SIM Toolkit> FLASH! > Активация> Деактивировать> Принять идея Idea Power> Idea Flash> Активация> Деактивировать> Принять BSNL BSNL Mobile> BSNL Buzz> Активация> Деактивировать> Принять Jio Обратитесь в службу поддержки Jio или попробуйте удалить все приложения Jio с мобильного устройства Android.

Как насчет класса? 0 сообщений?

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

Вот как вы можете отключить или остановить флэш-сообщения на ваших телефонах Android. Я рассмотрел несколько сетей, а также названия сервисов. В случае телефонов с двумя SIM-картами после открытия приложения инструментария SIM-карты сначала необходимо выбрать сеть, а остальные шаги остаются прежними. Надеюсь, что эта статья полезна, и вы можете остановить флэш-сообщения на Android устройства легко.

Источник

Оцените статью