Apps für Android programmieren leicht gemacht!
App Launcher Icon verstecken

Launcher Icon verstecken

Ich möchte heute gerne klären, wie man den Launcher Icon verstecken kann. Dies geht nämlich einmal in der AndroidManifest.xml-Datei und einmal während der Laufzeit unter Java.

Vor ein ein paar Monaten hatte ich mir eine Custom Rom auf mein Galaxy S5 installiert. Nachdem ich mich heute nun dazu entschieden hatte per Kies wieder das originale Samsung TouchWiz OS Android zu installieren änderte sich selbstredend natürlich auch die Tastatur auf die originale Samsung Tastatur. Oh Schreck, denn ich hatte mich jetzt so an die Google Tastatur gewöhnt.
Die Google Tastatur war schnell installiert. Zur Freude meinerseits war es innerhalb der Konfigurationsapp möglich den Launcher Icon aus dem Menü zu entfernen.

Lange Rede, kurzer Sinn. Ich habe mich dann einmal damit beschäftigt, wie man zur Laufzeit einer App den Launcher Icon aus dem Menü entfernt, denn bis dato kannte ich nur den Weg über die AndroidManifest.xml-Datei und dieser ist bereits zur Installation fest.

 

Launcher Icon über AndroidManifest entfernen

Wie bereits angesprochen kann man über eine Anpassung der AndroidManifest.xml-Datei den Launcher Icon einer App entfernen. Dies ist hilfreich, wenn die App beispielsweise nur ein Live-Hintergrund ist oder nur ein Widget enthält, also nicht unbedingt einer Konfiguration bedarf. Es ist uns nicht so ohne weiteres Möglich den Launcher Icon dann zur Laufzeit (nach Installation) wieder hinzu zu fügen.

Wir entfernen innerhalb der Datei einfach folgende Zeile:

<category android:name="android.intent.category.LAUNCHER" />

 

Launcher Icon zur Laufzeit verstecken

Entgegen der Entfernung des Launcher Icons über die AndroidManifest.xml-Datei können wir den Launcher Icon auch per Java Code verstecken und so im Menü entfernen.

Wir verwenden einfach folgenden Code:

PackageManager p = getPackageManager();
ComponentName componentName = new ComponentName(this, [Packagename + Klasse + .class]);
p.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);

Über diese 3 Zeilen Code können wir den Launcher Icon zur Laufzeit nach etweiligen Einstellungen verstecken.
Die Stelle „[Packagename + Klasse + .class]“ muss durch den Packagenamen, den Klassennamen (Die Klasse, die beim Start der App geöffnet wird) und mit dem Suffix „.class“ ersetzt werden.
Dieser Klassenname ist auch derjenige, der in der AndroidManifest.xml-Datei die Zeile „<category android:name=„android.intent.category.LAUNCHER“ />“ enthält.

Als Beispiel: de.droid_lernen.beispielapp.MainActivity.class

 

Launcher Icon zur Laufzeit einblenden

Selbstverständlich ist es auch möglich den Launcher Icon zur Laufzeit dann nach der Ausblendung wieder einzublenden.
Ersetzt hierzu die Stelle „PackageManager.COMPONENT_ENABLED_STATE_DISABLED“ einfach mit „PackageManager.COMPONENT_ENABLED_STATE_ENABLED„.
Man achte auf das letzte Wort dieser Stelle.

Marvin

Ich bin 23 Jahre jung und studiere zurzeit Wirtschaftsinformatik an der Georg-August-Universität in Göttingen. Ich bin ein Mensch, der sich neben der Programmierung noch für tausend andere Dinge interessiert, die mal mehr und mal weniger verrückt sind. Vor allem aber bin ich Feuer und Flamme mit der Programmierung von eigenen kleinen Apps und Programmen, die mein Leben bereichern.

Kommentar hinzufügen

*Pflichtfeld