Опубликован: 06.05.2014 | Уровень: для всех | Доступ: платный
Лекция 5:

Мобильная связь в приложениях для смартфона

Аннотация: Рассматривая вопросы программирования для смартфонов на Android, нельзя забывать о первоначальном предназначении мобильного телефона – звонить и отправлять SMS-сообщения. Профессиональный программист должен уметь использовать эти возможности в своих приложениях. В лекции рассказывается об особенностях разработки приложений, использующих возможности мобильной связи. Рассматриваются вопросы возможностей мобильной связи в приложениях для смартфона, телефонной связи, работы с SMS и мобильным интернетом. Скриншоты приложений взяты из магазина приложений Google Play или сделаны самостоятельно с использованием смартфона Мегафон SP-A20i Mint на платформе Intel Medfield.
Ключевые слова: класс, объект, Интернет

Возможности мобильной связи в приложениях для смартфона

Презентацию к лекции Вы можете скачать здесь.

Коммуникационные возможности смартфонов

Современные смартфоны обладают богатым набором коммуникационных возможностей. Среди них можно выделить возможности мобильной связи:

  • Возможность совершения телефонных звонков.
  • Возможность получения и отправки SMS.
  • Возможность выхода в Интернет через мобильную сеть.

В этой лекции мы рассмотрим некоторые особенности работы с телефонными средствами устройств.

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

Особенности использования мобильной связи на планшетах

Современные планшеты на Android часто имеют разъем для подключения SIM-карт, однако очень редко позволяют использование в качестве телефона. В лучшем случае они позволяют отправлять и получать SMS-сообщения, да и то лишь при наличии специальной программы. Поэтому при разработке приложений, использующих возможности мобильной связи, следует обязательно проверять тип устройства. Если оно является планшетом, то непродуманный вызов некоторых функций может повредить работе приложения в целом. В то же время наличие GSM-модуля связи (или альтернативного телефонного) в планшете однозначно позволяет использовать возможности мобильного интернета.

Телефонная связь

Использование эмуляторов для тестирования обработки звонков

Если тестировать приложение для мобильной связи на реальных устройствах, можно случайно вызвать номер, звонок на который может мгновенно списать все средства со счета. Поэтому целесообразно использовать для этой цели эмуляторы. Можно имитировать телефонные вызовы между двумя экземплярами Android-эмулятора. Для этого необходимо создать эти эмуляторы и запустить их. Первый созданный эмулятор получит абонентский номер 5554, номера следующих последовательно увеличиваются на 2 (5556, 5558, …). Для каждого эмулятора также открывается второй порт с номером на 1 больше (5555 для первого и т.д.), который позволяет использовать Android Debug Bridge. Нас пока интересует только номер каждого эмулятора.

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

Прием входящего звонка на эмуляторе

Рис. 9.1. Прием входящего звонка на эмуляторе

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

Вызов абонента из приложения и перехват исходящих звонков

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

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

Александр Коновалов
Александр Коновалов
Олег Литовка
Олег Литовка
Украина