No Image

Приходят смс с текстом null

СОДЕРЖАНИЕ
0 просмотров
12 декабря 2019

Всем нам приходят СМС-сообщения — от знакомых, друзей, родных. Некоторые полезны, другие нет. Иногда мы получаем СМС рекламного характера от оператора, предлагаются новые услуги, акции..

Но есть СМС, которые непонятны и одно из таких — СМС, содержанием которого является nullnullnull или null null null — нет никакой подсказки что это за SMS, а в интернете информации как кот наплакал.

Данное сообщение часто приходит именно с коротких номеров. Например 1453, 1307, 1895 и другие. Оператор тоже может быть разный, но часто это МТС.

Номер СМС Описание
2317 Предположительно МТС-ИНФО (уточнить у оператора). Вроде как подключается всем абонентам. Также телефон может отправлять смс на этот номер. Деньги снимать не должны, но всякое бывает. Чтобы исключить любые писание — звоним оператору и включаем функцию Запрет контента. Один юзер звонил оператору и ему ответили, что номер 2317 используется для передачи служебной информации, а также для обновления приложений и меню сим-карты.
4153 Информация не найдена. Возможно это в некотором смысле коллега первого номера 2317.
1453 и 1307 Скорее всего тоже MTS Info.

Первое что мне пришло на ум — содержание в виде nullnullnull сообщает об неудаче при выполнении операции, функции, обработке. То есть например вы заказали услугу. Но она не была предоставлена из-за ошибки и услуга вернула ответ nullnullnull. Но это только мои мысли, предположение.

Удивительно, но сообщение может прийти даже ВКонтакте — о содержании ничего не сказано, но вот отправитель — null null.. похоже на мистику:

А вот и пример того самого сообщения nullnullnull на телефоне:

Что делать? Мои мысли и советы

Вот такие у меня мыслишки:

  1. Первое — не отвечать. Я не знаю точно что это, но отправлять в ответ ничего не стоит. Неизвестно к чему это может привести, но учитывая подписки, которые в последнее время чуть ли не сами активируются.. рисковать не стоит. Ничего в ответ на сообщение nullnullnull не отправляйте!
  2. Как я уже писал, возможно nullnullnull это значение, которое вернула услуга (функция). Например вместо nullnullnull может быть False, что тоже означает неудача.
  3. В любом случае — позвонить оператору, рассказать об этом СМС, проверить наличие подключенных платных услуг.
  4. Настоятельно рекомендую проверить телефон на вирусы. Мой совет — используйте антивирус от Доктора Веба или Касперского.
Читайте также:  Долгам нет отзывы клиентов

Внешний вид антивирусов Доктор Веб и Касперский

Т.к. вы неавторизованы на сайте. Войти.

Т.к. тема является архивной.

Странное какое-то дело творится.
Пришла мне как-то с одного номера пустая СМС. Ну пришла, и пришла, может ошибся кто.
Но время шло, а СМС продолжали приходить. Примерно 2-3 раза в неделю. Вот опять пришла. Наверное уже 25-я. Все с того же номера. И все пустые. Чей это номер – я без понятия.

Вопрос – а что это может значить? Может сталкивался кто? ¶

0. Вместо вступления

Периодически (когда у меня выпадает свободный вечер, и наш «клуб» организует игру) я играю в регбол. «Клуб» организован таким образом, что в день игры всем участникам приходит СМС такого вида:

Регбол! Сегодня в 19-30. Двор школы №30: ул. Володарского, 20. Открытая площадка с резиновым покрытием. Тел. 8 (951) ***-**-**.

И вот я подумал — почему бы не написать небольшое приложение, которое будет отлавливать эти сообщения, и забивать их в гугл-календарь. Зачем? Да, в основном, just for fun, ибо я не настолько занятой человек, чтобы мне были жизненно необходимы автоматические секретари.

Итак, приложение будет уметь следующее:

  • Следить за входящими сообщениями. Если пришло сообщение от адресата RM FIGHT, то нужно сверить текст сообщения с шаблоном, и при совпадении создать мероприятие в гугл-календаре. Если же текст сообщения с шаблоном не совпадает (например, просто какие-то новости пришли), то сохраняем сообщение в базе, чтобы потом можно было его прочитать.
  • Показывать сообщения от этого адресата, не попадающие в категорию «Оповещение об игре» (новости, реклама и т.д.).

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

Читайте также:  Прием на работу педагогов

Итак, приступим. Кстати, используемая версия SDK — 14 (Android 4.0).

1. Перехватываем СМС

Для мониторинга входящих СМС первым делом нам необходимо запросить разрешение на их получение. Для этого в файл AndroidManifest.xml необходимо добавить запись вида:

Следующим шагом будет реализация монитора для прослушивания входящих сообщений. Для этого в манифест-файле регистрируем receiver:

Здесь мы установили приоритет равным 100, чтобы наше приложение получило доступ к входящему СМС раньше стандартного обработчика СМС, которое имеет нулевой приоритет. После того, как наше приложение обработает сообщение, нет смысла отдавать его системе, и помещать в папку Входящие.

Теперь создаем класс, расширяющий BroadcastReceiver :

В этом классе реализуется абстрактный метод onReceive() , который вызывается системой каждый раз при получении сообщения. В методе прописываем:

Здесь мы получаем сообщение с помощью метода intent.getExtras().get("pdus") , который возвращает массив объектов в формате PDU — эти объекты мы потом приводим к типу SmsMessage с помощью метода createFromPdu() .

Теперь внимание. То, что мы делаем после получения сообщения, должно исполняться быстро. Broadcast receiver получает в системе высокий приоритет, но он работает в фоновом режиме и должен выполняться за короткое время, так что наши возможности ограничены. Например, мы можем сгенерировать уведомление или запустить службу, чтобы продолжить обработку в ней. Поэтому мы проверим отправителя сообщения, и если это уведомление об игре — мы вытащим текст сообщения и запустим службу, в которой уже и будем проводить обработку этого сообщения.

Дописываем в методе onReceive() :

Здесь мы составляем текст сообщения (в случае, когда сообщение было длинным и пришло в нескольких смс-ках, каждая отдельная часть хранится в messages[i] ) и вызываем метод abortBroadcast() , чтобы предотвратить дальнейшую обработку сообщения другими приложениями.

Читайте также:  Бесплатные адвокаты в орле

2. Обрабатываем СМС

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

Создаем класс SmsService , расширяющий класс Service :

Поскольку у нас локальная служба, метод onBind() возвращает null.

Для вывода уведомлений нам понадобится вспомогательный метод showNotification():

В методе onStartCommand() прописываем:

Осталось, собственно, реализовать метод smsProcess() , который добавит смс в базу и сформирует мероприятие в гугл-календаре. Этим и займемся в следующей части статьи.

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

Комментировать
0 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
No Image Советы юриста
0 комментариев
No Image Советы юриста
0 комментариев
No Image Советы юриста
0 комментариев
No Image Советы юриста
0 комментариев
Adblock detector