Как стать автором
Обновить

Удаление иконки приложения из лаунчера

Время на прочтение1 мин
Количество просмотров5.9K
Перевод заметки когда то найденной на страницах Интеренета.

Создать приложение которое не появляется в списке запускаемых приложений вместе с иконкой легко. Достаточно поместить в файл манифеста следующие строки:

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>


Задача удаления иконки приложения после инсталляции дело немного более хитрое.


Вы не можете самостоятельно запретить показ иконки, зато вы можете запретить один из компонентов приложения:

ComponentName componentToDisable = new ComponentName("ua.at.tsvetkov.myapp", "ua.at.tsvetkov.myapp.YouLauncherActivity");
getPackageManager().setComponentEnabledSetting(componentToDisable, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);


Ограничения:

  • Выключенный компонент не будет запускаемым в любом случае
  • Другие не выключенные Activity будут запускаться из других приложений
  • Приложение может выключить только свой собственный компонент. Есть разрешение «android.permission.CHANGE_COMPONENT_ENABLED_STATE», но оно не работает, приложения третьих сторон не имеют этого доступа к этому разрешению.
  • Иконка исчезнет после рестарта лаунчера, поэтому при следующей перезагрузке телефона форсировать рестарт лаунчера не рекомендуется.
Теги:
Хабы:
Всего голосов 12: ↑6 и ↓60
Комментарии7

Публикации

Работа

Ближайшие события