Полностью удалить иконку приложения программно без root-прав практически невозможно из-за ограничений безопасности Android.
Скрытие иконки из лаунчера
PackageManager p = getPackageManager();
ComponentName componentName = new ComponentName(this, MainActivity.class);
p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
Использование пустой иконки:
PackageManager pm = getPackageManager();
ActivityInfo ai = pm.getActivityInfo(getComponentName(), PackageManager.GET_META_DATA);
ai.icon = R.drawable.transparent_icon; // Прозрачная иконка
ai.logo = R.drawable.transparent_icon;
Использование системного API для скрытия (работает не на всех устройствах):
Intent intent = new Intent("android.intent.action.MAIN");
intent.setComponent(new ComponentName("com.android.settings", "com.android.settings.Settings$AppDrawerSettingsActivity"));
startActivity(intent);