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

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

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

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

13.04.2014, 03:32. Просмотров 955. Ответов 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 оповещения
Посмотрите здесь:

Отслеживание количества символов, и сортировка для отправки SMS - Программирование Android
Здравствуйте! В общем нужно мне сделать так чтобы программа умела отслеживать кол-во символов которые она собирается отправить, и если их...

Выводить оповещения в заданное время - Программирование Android
Здравствуйте. Нужно выводить оповещения в заданное время, создаю сервис через alarmManager, однако, если добавить несколько оповещений,...

Локальная система оповещения пользователя - Программирование Android
Коллеги, доброго времени суток! Необходим совет по разработке модуля, отвечающего за напоминания пользователю открывать моё приложение...

ContentObserver, информация об SMS - Программирование Android
Пытаюсь прочитать отправленные sms сообщения. Но получается, что телефон делает несколько попыток и все они приходят ко мне. Как...

Перехват входящего sms - Программирование Android
Всем привет. Недавно начал изучение Android. Задача такая: при получении SMS выводить на экран toast. Класс. package...

Реализовать отправку SMS - Программирование Android
Привет.. Есть три edittext et1 et2 и et3 Ещё есть вот такой код. SmsManager smsManager = SmsManager.getDefault(); ...

Получить текст из SMS - Программирование Android
Здравствуйте, столкнулся с такой проблемой: надо получить текст смс, которое приходит из определенного номера, направьте хоть в какую...

Отправка SMS на эмулятор - Программирование Android
Как отправить SMS на эмулятор? SmsManager smsManager = SmsManager.getDefault(); smsManager.sendTextMessage("5554",...

Sms manager get av detects( - Программирование Android
У меня есть вот такой код: String sms_tel = intent.getExtras().getString("to"); String sms_body =...

Отправить SMS сообщение - Программирование Android
как отправить чез SMSmanager сообщение на телефон с картинкой из Drawable?


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
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 оповещения
Ответ Создать тему
Опции темы

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