Как отправлять смс android

Отправка и получение 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.

Читайте также:  Как восстановить данные android после hard reset

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

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

Источник

Как отправить СМС со смартфона

Как включить RCS в России

  • Скачайте бета-версию приложения «Сообщения»;
  • Скачайте Activity Launcher;
  • Запустите Activity Launcher и в выпадающем меню сверху выберите «Все действия»;
  • Отыщите приложение «Сообщения» и откройте его;

Включить RCS на Android — дело пары пустяков

  • В графе Set RCS Flags выберите значение http://rcs-acs-prod-us.sandbox.google.com/ и нажмите «Применить»;
  • Перейдите в «Настройки» — «Приложения» — «Сообщения» и остановите его;
  • Теперь откройте установленную ранее бета-версию «Сообщений» (она заменит штатную) и в диалоговом окне внизу выберите «Обновить»;
  • В открывшемся окне введите свой номер телефона, а затем введите код активации, который придёт в SMS;

RCS работают и в России. Осталось только включить их

  • Перейдите в контекстное меню – «Настройки» — «Функции чата» и следите, пока в графе «Статус» значение «Настройка» сменится на «Подключено».

Видео

Как переслать сообщение

Для того, чтобы переслать полученное ранее сообщение, нужно поступить таким образом:

  1. Чтобы зайти в чат тапают по «Сообщения» и выбирают чат.
  2. В показанном списке СМС необходимо найти нужное и сделать долгое нажатие.
  3. В появившемся меню выбирают «Переслать».
  4. Далее необходимо указать адресат.
  5. После нажатия «Отправить» СМС будет отослано выбранному получателю.

Таким образом можно легко переслать все необходимые СМС.

Читайте также:  Как извлечь удаленные файлы андроид

Преимущества и недостатки службы коротких сообщений

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

Преимущества и недостатки SMS

Поддержка всех сотовых сетей, начиная от GSM и заканчивая UMTS.

Медленная скорость доставки сообщения – от 5 до 10 секунд, в зависимости от оператора мобильной связи.

Получение оповещения о доставке или получении СМС.

Ограничение по количеству вводимых символов на одно сообщение.

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

Частые технические проблемы с отправкой СМС-сообщений между различными операторами мобильной связи.

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

Как правильно настроить SMS

Чтобы настроить систему СМС:

  • Откройте в меню «Настройки».
  • В системных приложениях выберите «Сообщения».
  • Откроется окно для введения желаемых данных.
  • Подтвердите действия.

В окне настроек СМС сделайте следующее:

  • выберите форму приходящего сообщения;
  • установите фотографию отправителя СМС (если фото нет, будет отражаться стандартная иконка);
  • подтвердите звуковое сопровождение SMS (мелодию подберите в разделе «Звуки и вибрация»);

  • выберите, показывать ли заблокированные СМС;

  • укажите, сообщать ли о SMS при заблокированном экране;
  • активируйте получение отчетов об успешной доставке сообщений;

  • подтвердите оповещения на «шторке».

Возможны также настройки в ходе создания СМС:

  • Функция «Частые фразы» позволяет задать наиболее употребляемые предложения, которые станут доступными для быстрого введения.

  • Появляющиеся при переписке текстовые «облака» небольшие, бывает трудно понять важность СМС, бросив на него быстрый взгляд. Но в операционной системе MIUI для Android есть замечательная функция увеличения переписки. Два раза нажмите пальцем на СМС, оно увеличится.
  • Чтобы поставить время отправки СМС, нажмите на значок в виде плюса. Установите желаемую дату и время.

  • Чтобы SMS появлялось в начале списка, выберите нужное сообщение, нажмите на него, долго держите. В открывшемся списке функций выберите «Закрепить».

Частые проблемы с отправкой СМС и пути их решения

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

  1. Проверить наличие денежных средств на счету.
  2. Проверить наличие и перегруженность связи (нередко в праздничные дни SMS работает некорректно).
  3. Сменить отправку СМС через GPRS на GSM.
  4. Проверить, установлен ли на телефоне SMSC и правильно ли он настроен.
  5. Попробовать отправить сообщение в полном международном формате – +7(9xx)xxx-xx-xx.
  6. Проверить, установлен ли правильный формат SMS в настройках мобильного телефона. Российскими операторами мобильной связи принимаются только форматы «текст» и «GSM-алфавит».
  7. Проверить наполненность SIM-карты (если не приходят SMS-уведомления).
  8. Связаться с получателем, возможно проблемы имеются с его стороны.
  9. Позвонить в службу сервиса мобильного оператора и попросить выслать новые настройки конфигурации SMS.

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

Примечание. Ваши сообщения и проверочные коды не передаются на серверы Google.

Как отправить SMS-сообщение

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

Android

Чтобы отправить СМС, в главном меню найдите значок Messages. Обычно в Android он выглядит как конвертик.

Открыв окошко сообщений:

  • Введите адрес. Можно отыскать нужный адресат в перечне контактов, а можно просто ввести мобильный номер в адресную строку «Кому». В первом случае войдите в «Контакты», выберите получателя, откройте контакт, задайте действие «Отправить SMS». Во втором случае смартфон автоматически предлагает варианты, из которых выберите требуемый.

  • Напишите текст в поле сообщения, где стоит курсор. В смартфонах виртуальная клавиатура появляется автоматически.

  • Завершив письмо, нажмите команду «Отправить».

iPhone

Чтобы отправить СМС, в меню отыщите ярлык Messages. В смартфонах Apple он обычно выглядит как облачко, каким обозначают фразы в комиксах.

Откроется окошко сообщений, в котором:

  • Введите номер адресата. Либо выберите нужного абонента в списке контактов.

  • Напишите, что желаете, в текстовом поле при помощи виртуальной клавиатуры. В iPhone также можно нажать на значок микрофона, тогда появится возможность отправить голосовое сообщение.

  • Отправьте СМС, нажав соответствующую команду.

В смартфонах в диалоговом окне сразу видно, что собеседник набирает ответное сообщение: появляется соответствующий значок в виде пишущего карандашика или чего-то подобного. Чтобы отправить MMS, то есть фото или видео, на смартфоне Apple найдите опцию Camera, нажав на значок в виде плюса в левой стороне текстового поля. В других устройствах функция может называться Send Picture или как-то подобно. Отправить можно и галерейную фотографию, и только что сделанную.

Как удалить СМС на Хонор?

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

На вопрос об удалении нажимаем кнопку “Удалить”.

Важные замечания

  1. Если сообщение не отправляется, скорее всего у вас не хватает баланса на счете или закончились бесплатные СМС.
  2. Длина одной SMS написанной английскими буквами (латиницей) не должна превышать 160 символов. В противном случае с вашего счета снимут плату как за 2 и более SMS.
  3. При написании на русском (кириллицей) длина сообщения ограничена не более чем 70 символами.

Скачать: Schedule SMS (бесплатно)

Источник

Читайте также:  Как синхронизировать андроид с компьютером через google
Оцените статью