Пытаясь понять задачи Android
Я пытаюсь понять задачи Android. Предположим, вы запускаете действие X с его значка запуска, а с этого действия вы запускаете новое действие Y из другого приложения. У вас есть задача, состоящая из действий X и Y. Теперь предположим, что вы нажимаете кнопку "Домой" и снова нажимаете значок запуска X. В документации Android говорится, что по умолчанию система должна показывать задачу, как и раньше, с Y сверху.
Однако, немного поэкспериментировав на реальном устройстве, вы обнаружите, что это не то, что происходит в большинстве случаев. Предположим, что X - это приложение для работы с электронной почтой, и вы просматриваете любой контент из электронной почты в другом приложении Y (например, открыв фотографию в галерее, открыв документ PDF в Quickoffice, открыв веб-страницу в Chrome и т. Д.), Вы обнаружите, что если вы нажмете дома, а затем значок запуска X вы на самом деле видите X снова. Иногда активность, показывающая контент, перемещается на другой значок запуска, но часто, насколько я могу судить, система Android полностью забывает об этом.
Это то, что происходит, если X - это GMail, Yahoo Mail или Google Drive.
Мой вопрос: что заставляет Y быть сброшенным с задачи? Это что-то делает X или что-то делает Y? Если это что-то делает X, то можете ли вы как разработчик Y сделать что-то, чтобы защититься от этого и не допустить, чтобы ваша деятельность была забыта системой Android? Спасибо
1 ответ
Это все о taskAffinity
обратитесь сюда для документации. Для большей ясности вы можете прочитать этот ответ /questions/31321760/obyasnenie-shodstva-zadach-android/31321771#31321771