Андроид смс номер код

Отправка и получение SMS сообщений в Android

Как это ни удивительно, SMS сообщений сегодня остаются одним из самых востребованных сервисов, что вполне объясняет интерес, проявляемый Android разработчики к этой тема. Из данного урока Вы узнаете, как программно отправлять и получать SMS сообщения. Будет показано, как провести тестирование приложения на эмуляторе.

Отправка SMS сообщений в Android

Создайте в Eclipse новый проект со следующими параметрами:

  • Project Name: SMSMessaging
  • Package name: net.learn2develop.SMSMessaging
  • Activity Name: SMS
  • Application Name: SMS App

Для того, чтобы наше прилоение могло работать с SMS, ему необходимо дать соответствующие разрешения: SEND_SMS для отправки и RECEIVE_SMS — для получения. Откройте файл AndroidManifest.xml и приведите его к виду:

Настроим шаблон дизайна приложения. Откройте файл res/layout/main.xml и приведите его к виду

В результате у Вас должен получиться следующий шаблон:

Перейдем к редактированию кода. В SMS activity напишем обработчик нажатия на кнопку. После щелчка мы должны проверить введен ли номер телефона и текстовое сообщение. Если все в порядке, мы вызываем функцию sendSMS(), которая отправляет сообщение.

Напишем реализацию функции sendSMS()

Для отправки SMS сообщения в Android используется класс SmsManager. в отличии от друих классов, мы не можем получить экземпляр SmsManager напрямую. Для решения этой задачи необходимо вызвать статический метод getDefault(), который возвращает требуемый объект класса SmsManager. Метод sendTextMessage() отправляет sms сообщение с помощью PendingIntent. Объект PendingIntent используется для определения activity, которая будет вызвана после отправки сообщения. В приведенном выше коде объект pi ссылается на ту же activity из которой он вызывается, то есть после отправки SMS сообщения activity не поменяется.

Если Вы хотите отслеживать состояние процесса отправки сообщения, вам понадобится два объекта PendingIntent и два объекта BroadcastReceiver

В приведенном выше листинге объект sentPI используется для отслеживания процесса отправки. Когда SMS сообщение отправлено, генерируется первое событие onReceive для BroadcastReceiver. Именно здесь можно проверить статус процесса отправки. Объект PendingIntent (deliveredPI) используется для мониторинга доставки. Когда сообщение успешно доставлено, генерируется еще одно событие onReceive для BroadcastReceiver.

Теперь можно провести тесстирование приложения. При отладке на компьютере можно посылать сообщения от одного эмулятора другому. Для этого просто запустите два эмулятора (в папке android SDK зайдите в каталог Tools Emulator.exe). В качестве номера, куда вы отправляете SMS, нужно указать номер порта эмулятора. Его можно увидеть в загаловке окна эмулятора в круглых скобках. На рисунке показан пример отправки сообщения с эмултора 5554 на эмулятор 5556.

После успешной отправки SMS пользователю будет показано сообщение «SMS sent». После того, как сообщение будет принято на другом устройстве, пользователь увидит «SMS delivered». К сожалению, в случае тестирования на эмуляторе Вы не увидите этого сообщения. Возможность проверять успешность доставки доступна только на реальных устройствах.

Если Вы не хотите разбираться в тонкостях отправки SMS сообщений, то можете воспользоваться встроенным в Android стандартным приложением, дав ему задание через интент.

Получение SMS сообщений в Android

Помимо отправки SMS вы также можете организовать перехват входящих SMS сообщений. Делается это с помощью все того же объекта BroadcastReceiver.

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

Теперь нужно добавить в проект новый класс SmsReceiver.java, который является наследником BroadcastReceiver. Внутри SmsReceiver нужно написать собственную реализацию метода onReceive()

При получении SMS сообщения вызывается метод onReceive. SMS сообщение упаковывается и присоединяется к объекту intent (второй параметр метода onReceive). SMS сохраняется в массиве Object в PDU формате. Чтобы распаковать SMS сообщение нужно воспользоваться методом createFromPdu() класса SmsMessage. После этого можно отобразить сообщения с помощью класса Toast

Читайте также:  Андроид стал сам разряжаться

Вот, собственно, и все! Можете запускать эмуляторы и тестировать приложение. На приведенном ниже рисунке с помощью класса Toast показано полученное сообщение.

Заключение

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

Исходный код примера можно скачатьздесь.

Источник

Сервисные (секретные) коды для смартфонов Android

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

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

Также рекомендую интересные статьи по теме Android:

Популярные секретные коды для Андроид смартфонов

Почему данные коды называют «секретными»? Просто они не нужны большинству рядовых пользователей, их не публикуют в инструкциях к смартфонам. В первую очередь «secret codes» предназначены для инженеров и разработчиков для проведения различных тестов.

Чтобы использовать любой из сервисных кодов, нужно ввести его в номеронабирателе. На планшетах придется скачать стороннее приложение для осуществления звонков – введите в поиске Google Play запрос «Dialer» и загрузите понравившуюся «звонилку».

  • *#06# — информация об IMEI смартфона
  • *#*#4636#*#* — информация о Wi-Fi, аккумуляторе и статистике использования
  • *#*#3646633#*#* или *#*#83781#*#* — вход в инженерное меню на смартфонах с процессором MTK (через него можно увеличить громкость динамиков и наушников)
  • *#*#8255#*#* — тестирование сервиса Google Talk
  • *#*#7594#*#* — если введете данную комбинацию, после этого, при нажатии кнопки выключения, смартфон будет сразу же выключаться, без предложения меню
  • *#*#44336#*#* — информация о PDA, CSC, времени сборки и прочих данных о смартфоне
  • *#*#232338#*#* — MAC адрес Wi-Fi
  • *#*#7780#*#* — моментальный сброс к заводским настройкам (Hard Reset). Удаляет только приложения
  • *2767*3855# — моментальный сброс настроек до заводских, но в отличии от предыдущего способа Android полностью переустанавливается
  • *#*#1234#*#* или *#12580*369# — информация о прошивке устройства
  • *#*#1111#*#* — информация о FTA софтверной версии
  • *#*#2222#*#* — информация о FTA хардверной версии
  • *#*#0283#*#* — тест Loopback
  • *#*#0*#*#* — тест экрана
  • *#0*# — тестирование различных компонентов: экрана, камеры, динамиков, вибрации, микрофона и прочих
  • *#*#0673#*#* или *#*#0289#*#* — тест аудио
  • *#*#0842#*#* — тест вибрации и подсветки
  • *#*#232339#*#* или *#*#526#*#* — тест беспроводной сети
  • *#*#1472365#*#* — тест GPS
  • *#*#1575#*#* — подробный тест GPS
  • *#*#232331#*#* — тест Bluetooth
  • *#*#232337#*#* — показать Bluetooth-адрес
  • *#*#2663#*#* — версия сенсорного экрана
  • *#*#2664#*#* — тестирование сенсорного экрана
  • *#*#0588#*#* — тестирование датчика движения
  • *#*#7262626#*#* — тест сигнала GSM
  • *#197328640# — переход в сервисный режим
  • *#*#3264#*#* — версия RAM памяти
  • *#*#8351#*#* — активация режима регистрации голосового набора
  • *#*#8350#*#* — выключение режима регистрации голосового набора
  • #*5376# — удаление всех SMS
  • *#2222# — версия прошивки Android
  • #*2562#, #*3851#, #*3876# — перезагрузка смартфона, планшета
  • *#34971539# — полная информация о камерах и обновлении их прошивок
  • *#*#273283*255*663282*#*#* — быстрое создание резервной копии медиафайлов
  • *#*#4636#*#* — секретное меню для устройств Motorola
  • **05***# — разблокировка PUK на Sony
  • 3845#*855# — сервисное меню на LG G3
  • *#0011# — сервисное меню на Samsung Galaxy S4
  • ##778 (+кнопка вызова) — выводит на экран EPST-меню (для Samsung)
  • ##3424# — режим диагностики (для HTC)
  • ##3282# — EPST (для HTC)
  • ##8626337# — VOCODER (для HTC)
  • ##33284# — технические данные состояния сети (для HTC)
  • ##7738# — ревизия протокола (для HTC)
Читайте также:  Повер медиаплеер для андроид

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

Сервисные коды Android в приложении Secret Codes

Приложение Secret Codes просканирует систему на наличие инженерных кодов и выдаст результат в виде списка. Вам достаточно будет только нажать на интересующий код и вы перейдете к нужной опции.

К сожалению, у этого способа есть минус: на некоторых устройствах приложение не находит ни единого сервисного кода, а на некоторых находит не все. Но на протестированных мною девайсах все было отлично, да и отзывы в Google Play практически все положительные.

Источник

Как настроить СМС и SMS-центр на Андроид? Рассказываю

Несмотря на то, что сейчас практически все общаются в мессенджерах и социальных сетях, SMS-сообщения по-прежнему остаются актуальными. Например, их часто используют для подтверждения платежей, входа в аккаунты и регистрации на различных сайтах. Но как настроить СМС на Андроид, чтобы все работало корректно? Вопрос достаточно интересный, ведь в большинстве случаев кроме установки SIM-карты не требуется выполнять дополнительных действий. Но иногда все-таки приходится вручную изменять и задавать конкретные параметры. Об этом мы и расскажем дальше.

Настройка SMS-сообщений на телефоне Android

Как правило, под настройкой SMS-сообщений на телефоне Android понимается выбор правильных параметров, гарантирующих корректную работу опции. Например, речь идет о защите от рекламных рассылок, выборе подходящего региона и даже изменении стандартного звука уведомлений. И первым делом предлагаем открыть приложение, по умолчанию установленное для работы с СМС. В нем нужно пройтись по настройкам, воспользовавшись пошаговой инструкцией:

  1. Нажимаем по трем точкам, расположенным в углу экрана.
  2. В появившемся окошке отмечаем вариант «Настройки» (актуально для приложения от Google).
  3. Перед собой видим различные вкладки, посредством которых и осуществляется изменение различных опций. Рекомендуем обратить внимание на пункт «Уведомления», позволяющий отключить отображение оповещений и разрешить звуки. Также убедитесь, что в качестве текущей страны выбран ваш домашний регион (тот, где вы приобретали SIM-карту). Не лишним будет активировать защиту от спама, чтобы избавиться от рекламных рассылок и подозрительных сообщений.
  4. А для более тонкой настройки перейдем в раздел «Дополнительно». Там располагаются пункты, отвечающие за автоматическое скачивание MMS, отчеты о доставке, экстренные оповещения, сообщения на SIM-карте и даже настройки Google Fi. При помощи ползунков или отключайте, или включайте конкретные опции.

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

Как настроить СМС-центр на Андроид?

Оказалось, что люди частенько сталкиваются с неправильными настройками СМС-центра – в этом случае отправлять и принимать сообщения не получается. Но решить возникшую проблему достаточно легко, и первым делом потребуется получить номер SMS-центра у мобильного оператора (он может располагаться на официальном сайте). А затем выполняем действия из пошагового руководства и сохраняем изменения:

  1. Открываем приложение, посредством которого выполняются все телефонные звонки.
  2. Вводим USSD-запрос *#*# 4636#*#* и нажимаем на кнопку вызова.
  3. Переходим в раздел «Информация о телефоне» или «Сведения об устройстве».
  4. Пролистываем страницу до конца, обратив внимание на пункт «SMSC». Именно в доступную строку и нужно вставить полученный ранее номер для SMS-центра.
  5. Остается нажать на кнопку «Обновить» и закрыть приложение для звонков.

Итак, мы выяснили, как настроить СМС-сообщения и SMS-центр на Андроид. Вообще, после установки SIM-карты все необходимые опции активируются автоматически. Но в единичных случаях этого не происходит – и тогда приходится вручную изменять каждый параметр. Остались дополнительные вопросы? Тогда смело задавайте их в комментариях под нашей статьей!

Источник

Android: Обработка СМС

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. Со второй частью статьи пока не успеваю, слишком уж загружен по работе. Надеюсь в ближайшее время с этим вопросом разберусь.

Источник

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