TGViewer
Андроидѣ | Михаил Белый Андроидѣ | Михаил Белый @foundout · 328 subscribers
Post #286 559
Как менять иконку запуска Android-приложения

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

Реализовать можно через Activity Alias – единственный универсальный механизм подмены иконки. Они должны быть заранее импортированы в проект. Адаптивные векторы с атрибутом <monochrome> будут перекрашиваться в цвета обоев, независимо от выбранного иконки.

Aliases (псевдонимы, точки входа) прописываются в манифесте и ссылаются на существующую активити. Они могут иметь собственный интент-фильтр MAIN+LAUNCHER, иконки и другие параметры. Операционная система найдет псевдоним при парсинге манифеста и добавит ярлык в лаунчер. Чтобы в лаунчере отображалась только одна иконка – один алиас включаем (android:enabled="true"), остальные отключаем.

Управление алиасами осуществляется через PackageManager. Получить текущее состояние алиаса можно вызвав getComponentEnabledSetting. А установить – через setComponentEnabledSetting. Когда мы выбираем иконку, фактически один псевдоним включается, а остальные отключаются. Если иконка еще не выбиралась – отобразится дефолтная из манифеста. После выбора процесс приложения будет убит. Иконка обновится сразу. Есть лаунчеры, которые ее кэшируют и процесс займет до 500 мс.

Если по каким-либо причинам все алиасы отключаются (сброс настроек приложения, переустановка из стороннего маркета, ошибочное обновление) нужна безопасная инициализация, иначе пользователь потеряет ярлык в списке приложений. Для этого в Application.onCreate() нужно пройтись по всем алиасам и если ни один из них не включен – активировать дефолтный.

Я записал воркшоп, как это делается на практике:

🐗 Смотреть на Ютубе

🐗 Смотреть на Бусти

🐗 Исходники на Гитхабе

🐗 Документация в Роадмапе

#video@foundout
More from @foundout
  1. Sep 28, 2026Post #463
  2. Sep 9, 2026Истории про айфон Первый айфончик у меня появился в 24 года. К этим годам одни успевают пе…
  3. Sep 2, 2026Как правильно жить в Республике Бангладеш Жить в прекрасной стране Бангладеш – что может б…
  4. Sep 1, 2026Новые открытия Помню, как зимой, лежа на диване, ругался на концепт зимней арки. Как на оч…
  5. Aug 13, 2026Турецкий скам Я третий раз в Турции. За 4 года моего отсутствия покупательная способность…
  6. Aug 9, 2026Что делать в Черногории Шароебиться по горам. Всё, чем известна Черногория – сюда 20 лет н…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →