Программное обращение к службам Android с использованием компонента Telephony Manager

Автор: Макаров В.И.

Журнал: Мировая наука @science-j

Рубрика: Естественные и технические науки

Статья в выпуске: 7 (16), 2018 года.

Бесплатный доступ

В статье анализируются один из методов получения доступа к информации о звонках и смс приходящих на устройство работающее под операционной системой Android. Проводится обзор функциональных элементов определяющих функциональную составляющую любого приложения работающего под операционной системой Android. Приводится пример назначения и разрешения для функционального элемента активности в главный исполняемый файл Манифеста. Также проводится анализ работы активности и элементов «слушателей».

Анализ, разработка, события, активности, назначение активности

Короткий адрес: https://sciup.org/140263760

IDR: 140263760

A software call to Android services using the Telephony Manager component

The article analyzes one of the methods for obtaining access to information about calls and SMS coming to the device working under the Android operating system. An overview of the functional elements that determine the functional component of any application running under the Android operating system. An example of the assignment and permission for the activity functional element in the main executable file of the Manifesto is given. Also, the analysis of activity of activity and elements of "listeners" is carried out.

Текст научной статьи Программное обращение к службам Android с использованием компонента Telephony Manager

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

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

Активность, с точки зрения реализации, представляется классом являющимся подклассом к Activity. Чтобы данная операция (активность), реализующая функционал настройки приложения для пользователя, появилась в системе при запуске приложения, необходимо указать ее в файле манифеста. Пример назначения активности представлен следующим кодом:

android:label="@string/app_name" android:launchMode="singleInstance" >

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

Обязательным пунктом при создании операции (активности) в Android-приложениях, является наличие метода onCreate(), так как система при создании операции ссылается на него по умолчанию[2].

При создании активности в метод onCreate передается в качестве параметра сохраненное состояние последнего запуска активности. Это необходимо для осуществления проверки последнего состояния объектов View. В случае обнаружения несовпадения с изначальным состоянием выставляется значение последнего сохранённого состояния из savedInstanceState.

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

Под событиями следует понимать практически любое внешнее или внутреннее воздействие, оказываемое на устройство. Будь это событием нажатия кнопки громкости или касание экрана – устройство, на которое оказывается воздействие, в постоянном порядке поддерживает работу внутренних служб по выявлению изменений состояния устройства. Это означает, что устройство должно в обязательном порядке сохранять данную информацию, и для разработчика также существует возможность эту информацию заполучить. Для это в операционной системе Android существует класс Telephony Manager, к которому можно обратиться и получить ответ, соответствующий контексту отправляемого запроса. Данное действие можно осуществить, создав «слушателя». Слушатель – это класс, или же компонент приложения который обращается к Telephony Manager и запрашивает данные о новом соединении устройства с другим устройством, которое к нему обращается через сотовые сети.

Данный класс компонента слушателя должен наследоваться от класса широковещательных сообщений (BroadcastReceiver) и переопределять метод onReceive(). Если создана служба отправки данных о звонках и добавлен соответствующий фильтр намерений, onReceive осуществляет проверку на соответствие события пришедшего намерения (intent), и, в случае если оно не пустое, метод должен обращаться к классу TelephonyManager и проверять состояние телефона. В случае изменения состояния телефона на режим вызова метод снова должен обращаться к TelephonyManager, собирать информацию о номере вызывающего абонента и запускать следующий компонент который занимается представлением полученной информации и ее обработкой.

Список литературы Программное обращение к службам Android с использованием компонента Telephony Manager

  • Официальная страница разработчиков Android [Электронный ресурс] / Android developers official site / 2018. - Режим доступа https://developer.android.com/, свободный. - Загл. с экрана.
  • Зигард М., Программирование под Android [Текст] / М. Зигард, Д. Лайрд, М. Блейк, М Накамура - CПб.: Питер, 2014. - 560 с.