Перевод заметки когда то найденной на страницах Интеренета.
Создать приложение которое не появляется в списке запускаемых приложений вместе с иконкой легко. Достаточно поместить в файл манифеста следующие строки:
Задача удаления иконки приложения после инсталляции дело немного более хитрое.
Вы не можете самостоятельно запретить показ иконки, зато вы можете запретить один из компонентов приложения:
Ограничения:
Создать приложение которое не появляется в списке запускаемых приложений вместе с иконкой легко. Достаточно поместить в файл манифеста следующие строки:
<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», но оно не работает, приложения третьих сторон не имеют этого доступа к этому разрешению.
- Иконка исчезнет после рестарта лаунчера, поэтому при следующей перезагрузке телефона форсировать рестарт лаунчера не рекомендуется.