Android how to programmatically hide launcher icon Android how to programmatically hide launcher icon android android

Android how to programmatically hide launcher icon


PackageManager p = getPackageManager();p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

Note that the icon may not be gone until the next reboot.


Hide app's icon using below code

PackageManager pkg=this.getPackageManager();pkg.setComponentEnabledSetting(new ComponentName(this,SplashActivity.class),PackageManager.COMPONENT_ENABLED_STATE_DISABLED,                        PackageManager.DONT_KILL_APP);

// activity which is first time open in manifiest file which is declare as <category android:name="android.intent.category.LAUNCHER" />

Here is how to bring back the app's icon

PackageManager p = getPackageManager();ComponentName componentName = new ComponentName(this,SplashActivity.class);p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);


With Android Q (API 29) Google changed the Launcher icon visibility behaviour. Even if you disable your Launcher Activity or completely remove the android.intent.category.LAUNCHER <intent-filter> from all your Activities, the app will appear in the launcher and open the Android OS app settings, with the exception of:

  • Packages that don't declare any permissions in their respective manifest files
  • System apps
  • Apps that don't contain any components inside theirrespective manifest's tag