Чтобы не делать каждые 15 секунд запрос на сервер придумали push notification. Ваше приложение в лучшем случае будет просто прибито системой, в худшем не даст перейти смартфону в спящий режим и будет сильно кушать батарейку.
Android OS, по идее, как раз оставит жить такое приложение и не будет его прибивать. Логика у OS, вроде бы, такая. Есть живущий сервис -> приложение делает какую-то полезную работу -> не трогаем его пока не возникнет критическая нехватка ресурсов.
1. Каждые 15 секунд ходить на сервер — это сказать пока-пока всему заряду батарейки
2. Уже не надо для этого писать свои сервисы, уже давно стоит использовать проверенные библиотеки. Они решат всю проблему с транспортом, оставят вам разбираться только с собственной логикой.
))
1. Очевидно что для реального приложения лучше push. В моем примере его использование увеличило бы количество букв в 2 раза. Да и изначально, не было цели делать «чат». Была мысль быстро написать пример клиент(android)-сервер(php). Уже в процессе понял что «чат» будет нагляднее.
2. Android «прибьет» этот сервис в последнюю очередь не потому, что он «делает какую то работу», а благодаря startForeground(101, notification);
3. Ужасный код… ну да, чего уж ))) на php это вообще первые строчки т.с.
4. «Не делайте production версию своего мессенджера, пожалуйста. Им могут пользоваться не виноватые люди.»
— ок ))))))))))))) обещаю!
5. каждые 15 сек. на сервер… ну это же для примера! Впрочем именно в этом примере батарейке ничего не грозит )). Пока смартфон активен — приложение «ходит на сервер», как только уснул — приложение уснуло вместе с ним. PowerManager как видите я нигде не использовал.
Простой клиент-сервер на Android (интернет-мессенджер)