Re: Спящий режим и пуш-уведомления
От: vsb Казахстан  
Дата: 16.06.24 13:44
Оценка: +1
Здравствуйте, DTF, Вы писали:

DTF>Коллеги, добрый день.

DTF>Я в мобилках полный ноль, поэтому прошу объяснить максимально подробно.

DTF>Есть sip-звонилка, в моем случае это linhone, но вопрос касается любой другой звонилки, да и вообще любого приложения


DTF>Правильно ли я понимаю, что в андроиде программы, которые активно не используются,

DTF>переводятся системой в некий спящий режим, в котором их функции сильно ограничены?

В общем случае они завершаются. Т.е. ты переключился на другую программу, предыдущую программу андроид убивает. Ты нажал на кнопку выключения телефона, активную программу андроид убивает. Это не обязательно должно происходить, логика там не такая примитивная, но в общем случае рассчитывать на то, что неактивная программа не завершится — нельзя.

DTF>Если да, то доступен ли им в этом режиме интернет?


Нет, конечно, программа же не работает.

DTF>Правильно ли понимаю, что если некое приложение (например, звонилка) должно не работать постоянно,

DTF> а ждать сигнала извне (например, входящего звонка), то оно перед уходом в спящий режим
DTF> должно подписаться на некие "пуш-уведомления"?

DTF>И при получении такого уведомления операционка разбудит нужное приложение?


В общем случае не разбудит, а запустит, даст немного времени что-нибудь поделать и завершит.

DTF>Если постоянный опрос сервера — это энергозатратно, то как тогда работает получение пуш-уведомлений?

DTF>Ведь сама операционка должна кого-то где-то опрашивать, чтобы узнать, пришло ли что-то новое.
DTF>И делать это постоянно.

ОС держит одно TCP соединение до сервера гугл и принимает пуш-уведомления от него. Приложение, которое хочет доставлять пуш-уведомление, должно это делать через сервер гугла. Далее ОС получит уведомление, запустит нужное приложение и даст ему его обработать. Или просто покажет это уведомление пользователю, а когда пользователь на него нажмёт — в этот момент запустит нужное приложение.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.