Android Comment masquer programmatiquement l'icône du lanceur

mon application est conçue pour seulement besoin d'être exécuté une seule fois. En tant que tel je veux cacher l'icône du lanceur après la première manche, mais sans la désinstallation de l'application.

j'ai vu des applications similaires - ils peuvent supprimer leurs propres icônes de la liste des applications de lancement. Comment puis-je obtenir les mêmes résultats? Remercier.

43
demandé sur user1047351 2011-11-15 14:29:24

3 réponses

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

notez que l'icône peut ne pas être partie avant le prochain redémarrage.

63
répondu Kuffs 2011-11-15 11:07:46

masquer l'icône de l'application en utilisant le code ci-dessous

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

// l'activité qui est la première fois ouvert à manifiest fichier qui est déclarer que <category android:name="android.intent.category.LAUNCHER" />

Voici comment restaurer l'icône de l'application

PackageManager p = getPackageManager();
ComponentName componentName = new ComponentName(this,SplashActivity.class);
p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
11
répondu Sahir Saiyed 2015-06-04 12:12:03

vous pouvez avoir une application sans lanceur en N'incluant pas un filtre d'intention avec MAIN et lanceur dans la déclaration de L'activité dans L'AndroidManifest - la question devient alors comment faire le premier coup d'envoi.. Widget peut-être ?

1
répondu Clocker 2017-03-06 15:34:33