Прослушивание / обработка изменений состояния вызова - услуга? деятельность? получатель? - PullRequest
0 голосов
/ 30 ноября 2011

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

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

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

Мой вопрос: Каков наилучший способ реализовать это ?

Первоначально я начал работать с службой (которая запускается / останавливается при включении / отключении этой функции) ...

Затем я заметил, что прослушиватель состояния вызова работаетпросто отлично, когда устанавливается / сбрасывается напрямую через действие , но подозреваю, что это может привести к проблемам, когда действие заканчивается / собирается мусор ...?(Я не знаю много о том, как Android обрабатывает такие вещи)

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

У меня нетпосмотрел, чтобы убедиться, что функция работает после загрузки телефона, если она включена.Я также на самом деле не смотрел на доступ к настройкам приложения из службы / получателя - это должно быть возможно, хотя ...

Любые мысли или предложения были бы хорошими.Примеры кода или ссылки на учебники также были бы блестящими.

1 Ответ

0 голосов
/ 30 ноября 2011

Я поговорил с кем-то и провел немного больше исследований, и радиовещательный приемник действительно был тем, что мне нужно. На самом деле это удивительно просто.

В основном следовал учебнику на http://www.vogella.de/articles/AndroidServices/article.html#receiver

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

...