Это - последнее, что мы хотим. : -)
1. Диалоговые окна из Сервисов
Один из лучших примеров использования мобильных устройств, в частности IMHO и Android, заключается в том, что спустя десятилетия мы избавились от общесистемных, надоедливых диалоговых предупреждений. Наконец, лучшие практики [ 1 , 2 ] для взаимодействия с пользователем позволили нам избежать позорного распространяющегося использования MessageBox(hwnd, lpText, lpCaption, uType)
, борющегося за фокус и внимание бедного пользователя. , Смотрите видео пародию выше.
Причина, по которой неудобно начинать диалог с Service
, заключается именно в том, что предполагается, что это фоновая задача, без взаимодействия с пользователем. По идее, вы не должны делать это. Вот почему мы видим эти уловки (прозрачные действия, что за глупость), чтобы обмануть руководящие принципы проектирования в первую очередь. Они плохие, они нарушают пользовательский опыт, они крадут внимание и внимание. Они нарушают нашу работу.
2. Вместо этого используйте уведомления
Всякий раз, когда вы хотите уведомить пользователя о чем-то из фона, когда пользователь находится где-то еще, вы используете уведомление. Это шаблон по умолчанию, и он не беспокоит пользователя.
Следовательно, вы должны отправлять уведомления от вашего Service
.
Оттуда, , если пользователь заинтересован , тогда он коснется уведомления, и вы начнете свою собственную деятельность, возможно, возобновите свою деятельность, создадите новую, а затем с помощью диалогового окна запросите действие, чтобы или что вы хотите сделать.
3. Наконец, НЕ используйте FLAG_ACTIVITY_MULTIPLE_TASK
Вы не должны , когда-либо , используйте этот флаг, если вы не внимательно прочитали и не полностью поняли документацию и последствия использования этого флага.
Не используйте этот флаг, если вы не используете собственный модуль запуска приложений верхнего уровня.
(...)
Поскольку система по умолчанию не включает графическое управление задачами, вы не должны использовать этот флаг, если вы не предоставите пользователю какой-либо способ вернуться к запущенным задачам.
Действительно. В этом случае просто не надо.