Как стать автором
Поиск
Написать публикацию
Обновить

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

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

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

<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

Публикации

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