Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
-MSA-
1 / 1 / 0
Регистрация: 20.05.2013
Сообщений: 76
#1

Логика для SMS оповещения - Android

13.04.2014, 03:32. Просмотров 934. Ответов 1
Метки нет (Все метки)

Помогите кое что прояснить. Допустим хочу создать программу которая как только приходит SMS выводит на экран окно "Main" с сообщением.
1) Запускается GUI c "ненужным окном" котрое запускает сервис ожидания SMS.
2) Сервис в бесконечном цикле ждет сообщения от класса "SMS", который наследуется от "BroadcastReceiver".
3) Как только приходит SMS - Вывожу "Main" на передний план.
Не знаю верна ли логика.
Проблемы и вопросы:
1) Пользователь закроет GUI и вместе с ним в ад полетит сервис.
2) После перезагрузки можно запустить только сервис. Сможет ли этот сервис открыть Main когда придёт SMS?
3) Почему после перезагрузки я могу запустить только сервис, а при первом запуске должен запускать GUI c ненужным окном.
4) Как развернуть (вывести на передний план) окно Main?
В общем запутался я в этой системе.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2014, 03:32     Логика для SMS оповещения
Посмотрите здесь:

ContentObserver, информация об SMS Android
Android + GPS + SMS + PC Android
Отправить SMS сообщение Android
Отслеживание отправки SMS Android
Локальная система оповещения пользователя Android
Android Программное удаление SMS
Выводить оповещения в заданное время Android
SMS-отправка Android
Sms manager get av detects( Android
Отслеживание количества символов, и сортировка для отправки SMS Android
Android Получить текст из SMS
Отправка SMS на эмулятор Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,502
13.04.2014, 08:25     Логика для SMS оповещения #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
подобного еще не делал (перехват смс), но попробую помочь...
Вы немного неправильно понимаете структуру приложения андроида... Похоже думаете как в Windows. Я сам долго отвыкал...
Сервис может работать независимо от форм. Даже при закрытой программе. Это отдельный класс. Форма - это тоже отдельный класс, который может быть вызван нажатием иконки, вызовом из сервиса или любой другой программы.
Ресивер это не сервис а отдельный класс, который настраивается на определенные сообщения системы. Аналог виндового hook. И в его теле (при сообытии) можно запустить сервис или открыть окно. События бывают разные. Например на запуск ОС после перезагрузки - получаем автозагрузку сервиса. Например на смену уровня заряда батареи - меняем индикатор. Возможно (сам не пользовался и пока не копал в эту сторону) есть ресивер на входящее сообщение СМС. Регистрацию ресиверов (вроде) можно делать 2мя способами - командой программы(нажали кнопку) или в манифесте. Если в манифесте, то регистрация происходит на этапе инсталяции программы("намертво").

А вообще советую прочитать уроки
http://www.startandroid.ru/ru/uroki/...i-spiskom.html
уроки 92-100

Добавлено через 9 минут
Цитата Сообщение от -MSA- Посмотреть сообщение
2) Сервис в бесконечном цикле ждет сообщения от класса "SMS", который наследуется от "BroadcastReceiver".
Это виндовое мышление. Вы настраиваете ресивер на ожидание. Это вроде "заявки" которая обьясняет ОС что при приходе смс нужно (кроме системных обработок) выполнить метод определенный в ресиверах-программах А, Б и С...

Цитата Сообщение от -MSA- Посмотреть сообщение
4) Как развернуть (вывести на передний план) окно Main?
Тоже виндовые мысли! Форма уничтожается сразу как вы нажимаете закрыть и до него добирается "сборщик мусора". Каждое открытие формы - это её пересоздание.

Цитата Сообщение от -MSA- Посмотреть сообщение
3) Почему после перезагрузки я могу запустить только сервис, а при первом запуске должен запускать GUI c ненужным окном.
Теоретически сервис может быть и без главного окна! Но его должен кто-то запустить. Например определенный при инсталяции ресивер...
Yandex
Объявления
13.04.2014, 08:25     Логика для SMS оповещения
Ответ Создать тему
Опции темы

Текущее время: 03:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru