Как работает приложение для звонков, когда приложение для звонков удалено из списка задач (он же обзорный экран) в Android?

Я узнал, что ниже приведен обзорный экран.

введите здесь описание изображения

Я щелкнул номеронабиратель и набрал номер, а затем смахнул номеронабиратель вправо.

Но до сих пор звонок идет, как это.

введите здесь описание изображения

Как это делается?

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

Помогите мне, пожалуйста. Спасибо.


person sofs1    schedule 21.12.2016    source источник
comment
использовать фоновые сервисы   -  person Basi    schedule 21.12.2016


Ответы (1)


Я считаю, что он использует службу переднего плана Android. Вы можете проверить, как запустить его в документе: https://developer.android.com/guide/components/services.html#Foreground

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

person Jeff Hoang    schedule 21.12.2016
comment
не могли бы вы взглянуть на мой вопрос stackoverflow.com/questions/41217819/ - person Mr.Popular; 21.12.2016
comment
@Nhat В то же время среди уведомлений я могу прокручивать уведомления, такие как снимок экрана, но не электронную почту или набранный вызов, как показано на рисунке. Это также с помощью служб переднего плана? - person sofs1; 21.12.2016
comment
да, если вы используете StartForground (id, уведомление), у вас будет уведомление, как вы сказали - person Mr.Popular; 21.12.2016
comment
все еще некоторые устройства могут удалить ваше текущее уведомление, а также вашу службу, если вы очистите свои последние элементы.. Я работаю над этим, чтобы решить.. но все же я не могу.. Если вы найдете решение, дайте мне знать, мужик. большая помощь - person Mr.Popular; 21.12.2016
comment
@ user3705478 Да, потому что уведомление о снимке экрана не создается (и не привязано) к какой-либо службе переднего плана, поэтому его можно отклонить, как и уведомление о новом сообщении. - person Jeff Hoang; 21.12.2016
comment
@Mr.Popular Я не уверен, что вам нужно, но если все, что вам нужно, это работающая служба, не заботясь об открытом приложении (либо в списке последних, либо на переднем плане), вы можете просто создать фоновую службу с помощью START_STICKY, а также вызвать startService() при загрузке устройства, тогда ваша служба работает все время (если памяти устройства достаточно для ее запуска, иначе система закроет ее, чтобы освободить память, но перезапустит ее, когда она будет доступна). - person Jeff Hoang; 21.12.2016
comment
@Mr.Popular То, что вы упомянули о Facebook и Whatsapp, не является получателем, это push-уведомление с их сервера в клиентское приложение на телефоне. Вы можете взглянуть на GCM, чтобы реализовать это developers.google.com/cloud-messaging/ android/client Надеюсь, это поможет. - person Jeff Hoang; 21.12.2016
comment
@NhatHoang нормальный сервис без уведомлений переднего плана на моем устройстве, который легко уничтожается путем прокрутки последних приложений и никогда не перезагружается. - person Mr.Popular; 21.12.2016
comment
Привет, я следил за этим ответом, возможно, вы уже поняли это, вам следует установить флаг уведомления на FLAG_NO_CLEAR, чтобы пользователь не пролистнул его. - person Jeff Hoang; 12.01.2017