- Отправка и получение SMS сообщений в Android
- Отправка SMS сообщений в Android
- Получение SMS сообщений в Android
- Заключение
- Как работать с Android: отправляем СМС сообщение
- Еще по теме.
- Один комментарий »
- Как на Android отправлять бесплатные SMS-сообщения через интернет
- Что такое RCS и как это работает
- Как включить RCS в России
Отправка и получение 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, а именно. разбирались, как добавить контакт, и начали разбираться с клавиатурой. Давайте теперь разберемся с сообщениями. Для этого переходите по иконке Сообщения , которая находится правее иконки Контакты, и перед Вами появится список сообщений, которые Вы отправляли, и которые к Вам приходили. Теперь нажмите на левую сенсорную кнопку в нижней части (в виде прямоугольника). Появляется окошко , в котором находится три иконки: Поиск , Настройка и Удалить беседы .
Зайдите в настройки. В пункте Размер шрифта сообщения можно выбрать размер шрифта: он может быть обычным, маленьким и совсем мелким.
Можно также выбрать цвет фона, удалить старые сообщения, и поставить ограничения для количества SMS и MMS.
Теперь вернитесь на список сообщений, и нажмите вверху справа на иконку Создать сообщение с изображением конверта. Открывается окно с полями, в которых можно написать имя контакта и само сообщение. Кликните по любому полю, и у Вас появится сенсорная клавиатура. Нажмите на клавиатуре на кнопку Настройки (с изображением шестеренки), и в новом окне Вы можете выбрать тип клавиатуры, нажав на соответствующий пункт.
Работать с Android можно на одном из четырех видов клавиатур. Первый вид Qwerty — стандартный. Есть также клавиатура 3×4, которая похожа на клавиатуру обычного телефона. Также можно выбрать Окно рукописного ввода . Вместо клавиатуры в этом случае появляются квадратики. В верхних квадратиках можно пальцем рисовать буквы, слева внизу — цифры, и справа внизу — знаки. В случае выбора варианта Окно рукописного ввода 2 появляется большое поле, в котором Вы рисуете буквы, цифры и знаки для сообщения.
Если буквы Вы рисуете коряво, то сверху будут появляться варианты, среди которых нужно будет выбрать правильный.
В настройках клавиатуры также есть пункт Настройки XT9 . Нажав на него, Вы можете настроить различные вспомогательные функции. Например, можно включить опцию завершения слов, исправления ошибок, предсказания слова или автозамены.
Когда Вы пишете сообщение, то в поле ввода контакта достаточно написать первую букву, и перед Вами появится список контактов, которые начинаются с этой буквы. Вы можете продолжать писать имя дальше, а можете выбрать из списка.
Также справа от поля контактов есть кнопка, нажав на которую, Вы открываете список контактов, и выбираете из него.
У смартфонов Android фирмы Samsung на клавиатуре правее кнопки настроек есть кнопка, на которой изображен микрофон. Нажав на нее, Вы можете голосом произнести имя того контакта, который Вам нужен. Если есть несколько контактов с таким именем, появляется список, в котором Вы выбираете того, кого хотите.
Нажав на микрофон, можно продиктовать и само сообщение.
Когда Вы наберете, или продиктуете сообщение, нажимаете на кнопку Отправить . Если вместе с сообщением Вы хотите что-то отправить дополнительно, нажимаете на кнопку с изображением скрепки. Смартфон в этом случае предложит на выбор, что можно отправить:
В пункте Картинки можно добавить фотографии, а в пункте Сделать снимок можно сделать фотографию, и сразу добавить в сообщение. Пункты Добавить видео и Записать видео работают аналогично, только добавляется не картинка, а видео. То же самое касается пунктов Добавить звук и Записать звук .
Пункт Ячейка позволяет отправить карту с Вашим местонахождением. Для этого на смартфоне должен быть включен GPS. При этом в сообщение вставляется карта.
Пункт Контакт позволяет добавить контакт в сообщение. Также Вы можете добавить в сообщение запись из Вашего календаря. Вы можете добавить заметки , чтобы много не писать текста, и задачи .
Нажав на левую сенсорную кнопку (в виде прямоугольника), Вы можете вставить смайлики, добавить текст ( появляются пункты ячейки, контакты, календарь, заметки и задачи), добавить тему для сообщения, и добавить слайды.
Более подробные сведения Вы можете получить в разделах «Все курсы» и «Полезности», в которые можно перейти через верхнее меню сайта. В этих разделах статьи сгруппированы по тематикам в блоки, содержащие максимально развернутую (насколько это было возможно) информацию по различным темам.
Также Вы можете подписаться на блог, и узнавать о всех новых статьях.
Это не займет много времени. Просто нажмите на ссылку ниже:
Подписаться на блог: Дорога к Бизнесу за Компьютером
Вам понравилась статья? Поделитесь, буду весьма признателен:
Также приглашаю добавиться в друзья в социальных сетях:
Еще по теме.
Один комментарий »
Зайдите в ЛК своего оператора и закажите детализация на свою эл.почту,
Источник
Как на Android отправлять бесплатные SMS-сообщения через интернет
В последние несколько лет привычные некогда смски практически полностью вышли из нашего обихода. Поэтому многие операторы банально перестали включать их в стандартный тариф, предлагая либо купить пакет за фиксированную плату, либо оплачивать каждое отправленное сообщение по цене получаса междугородних разговоров. Само собой, платить за возможность отправить текстовое послание, которое нельзя снабдить ни стикером, ни другим вложением, не хотел никто, и постепенно переписка перекочевала в мессенджеры. Но что, если я скажу вам, что смски могут быть не только бесплатными, но и по содержанию не отличаться от посланий в мессенджерах?
SMS могут быть бесплатными. На Android так точно
Само собой, речь идёт не совсем о тех смсках, которые передаются по стандарту SMS (Short Message Service), а об RCS (Rich Communication Service). В отличие от SMS, RCS имеют увеличенный до 8000 знаков лимит в текстовых посланиях, позволяют отправлять стикеры, эмодзи, а также медиавложения, но при этом, как и SMS, работают через сотовую сеть. Это делает их более приближёнными к SMS, поскольку данный протокол позволяет обмениваться сообщениями даже в том случае, если интернета у вас нет вообще.
Что такое RCS и как это работает
Само собой, такая услуга невыгодна сотовым операторам, но Google ведёт активную работу по её внедрению в разных странах. Для этого компания добавила поддержку RCS в фирменное приложение «Сообщения», чтобы дать пользователям больше возможностей для обмена текстовыми посланиями, захватив таким образом рынок мессенджеров. Ведь если переписка станет нетребовательной к наличию интернет-соединения, это сделает ненужными мессенджеры, которые никак не связаны друг с другом, а значит, многие могут сделать выбор в пользу именно RCS.
Читайте также: Что такое RCS-сообщения Android и в чем отличие от SMS?
Несмотря на то что в России пока нет операторов, поддерживающих RCS в полной мере, этим стандартом можно воспользоваться прямо сейчас. Ну, по крайней мере попробовать, тем более что это не будет стоить вам ровным счётом ничего.
Как включить RCS в России
- Скачайте бета-версию приложения «Сообщения»;
- Скачайте Activity Launcher;
- Запустите Activity Launcher и в выпадающем меню сверху выберите «Все действия»;
- Отыщите приложение «Сообщения» и откройте его;
Включить RCS на Android — дело пары пустяков
- В графе Set RCS Flags выберите значение http://rcs-acs-prod-us.sandbox.google.com/ и нажмите «Применить»;
- Перейдите в «Настройки» — «Приложения» — «Сообщения» и остановите его;
- Теперь откройте установленную ранее бета-версию «Сообщений» (она заменит штатную) и в диалоговом окне внизу выберите «Обновить»;
- В открывшемся окне введите свой номер телефона, а затем введите код активации, который придёт в SMS;
RCS работают и в России. Осталось только включить их
- Перейдите в контекстное меню – «Настройки» — «Функции чата» и следите, пока в графе «Статус» значение «Настройка» сменится на «Подключено».
Если соединение установилось, значит, теперь вы можете писать сообщения, используя подключение к интернету или Wi-Fi, а также отслеживать в реальном времени, кто именно печатает вам сообщения. Да, выше я говорил, что RCS работает по сотовой сети, но из-за того, что местные операторы не поддерживают этот стандарт, придётся использовать интернет. К тому же, важно понимать, что нет никаких гарантий, что вам удастся подключиться к RCS. Во всяком случае, на моём личном смартфоне этого так и не произошло, а у моего знакомого всё получилось, пусть и с третьей попытки. В чём тут дело, не совсем понятно, но попробуйте. Это бесплатно.
Новости, статьи и анонсы публикаций
Свободное общение и обсуждение материалов
Смарфтоны меняют наши привычки, особенно это касается способов общения. С появлением SMS мы стали все чаще выбирать текстовые сообщения, отодвинув голосовые звонки на задний план. Тем привычнее видеть людей, которые вообще ими не пользуются, ссылаясь на то, что текстом ответить проще, а для звонка нужен какой-то повод. К счастью, операторы связи по-прежнему дают огромные запасы минут для звонков. Тем обиднее то, что никто этого не ценит и пользуется очень редко, предпочитая текстовые сообщения. Можно удивляться или смеяться над этим, но дело серьезное — это психическое расстройство, которое является следствием прогресса и развития технологий, новых способов общения. Что это, как с этим бороться?
Новый учебный год наступил — пришло время закупаться различными принадлежностями для своих детей. Раньше кроме тетрадок и ручек, в общем-то, ничего и не нужно было. Но теперь самые разные приспособления для учеников стали доступнее, а в их необходимости нет сомнений. Мы собрали самые крутые школьные принадлежности, которые могут пригодиться для успешной учебы ваших детей (возможно, и для вас тоже). Присмотритесь: найдете что-то необходимое. Есть не самые обычные товары, но тоже очень нужные. В общем, переворачиваем календарь и добавляем покупки в корзину! Поехали!
WhatsApp уже давно не представляет из себя ничего особенно ценного. Люди постепенно начинают понимать, что Telegram не только не хуже, но по большинству показателей даже лучше. Поэтому, узнав, что хотя бы часть их знакомых перешла в мессенджер Павла Дурова, они следует их примеру, меняя WhatsApp на Telegram. Тем не менее, у многих до сих пор не получилось отказаться от WhatsApp, чтобы руководство мессенджера не делало. Но, судя по всему, с появлением рекламы его аудитория сильно поубавится.
Так а в чём смысл отправлять СМС через Интернет, если можно то же самое сделать в мессенджере?
Нет никакого диалогового окна и кнопки «обновить». Только внизу «начать чат». Нажимая, открывается окно с контактами для группового чата. Всё… И как это активировать?!
Источник