You may have an application that contains a broadcast receiver and for some reasons you want to hide the application icon in the Launcher after it has been installed (so that the user doesn’t know the app existed).
Programmatically Hiding the Icon
If you want the application icon to be visible after installation and hide it programmatically afterwards, you can use the following code snippets:
PackageManager p = getPackageManager();
p.setComponentEnabledSetting(getComponentName(),
PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
When the above statements are executed, the application icon in the Launcher will disappear after a while.
Declaratively Hiding the Icon
The easist way to hide your application icon from the Launcher is to remove theandroid.intent.category.LAUNCHER category from your app’s AndroidManifest.xml file. However, simply doing so will also render your broadcast receiver useless – it won’t respond to your broadcasts.
To fix this, you need to also add in the android.intent.category.DEFAULT category, like this:
<activity
android:name=
"net.learn2develop.locationmonitor.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name=
"android.intent.action.MAIN" />
<category android:name=
"android.intent.category.DEFAULT" />
<!—
<category android:name=
"android.intent.category.LAUNCHER" />
-->
</intent-filter>
</activity>
The application icon will then no longer appear in the Launcher.
No comments:
Post a Comment