mon application est conçue pour n'être exécutée qu'une seule fois. En tant que tel, je souhaite masquer l'icône du lanceur après la première exécution, mais sans désinstaller l'application.
J'ai vu des applications similaires - elles peuvent supprimer leurs propres icônes de la liste des applications du lanceur. Comment puis-je obtenir les mêmes résultats? Je vous remercie.
PackageManager p = getPackageManager();
p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
Notez que l'icône peut ne pas disparaître avant le prochain redémarrage.
Masquer l'icône des applications à l'aide du code ci-dessous
PackageManager pkg=this.getPackageManager();
pkg.setComponentEnabledSetting(new ComponentName(this,SplashActivity.class),PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
PackageManager.DONT_KILL_APP);
// activité qui est ouverte pour la première fois dans un fichier manifeste qui est déclaré comme <category Android:name="Android.intent.category.LAUNCHER" />
Voici comment ramener 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);
Vous pouvez avoir une application sans lanceur en N'incluant pas de filtre d'intention avec MAIN et LAUNCHER dans la déclaration de l'activité dans le AndroidManifest - la question devient alors comment faire le premier coup d'envoi .. Widget peut-être?
Avec Android Q (API 29) Google a modifié la visibilité de l'icône du lanceur comportement. Même si vous désactivez votre activité de lancement ou supprimez complètement le Android.intent.category.LAUNCHER <intent-filter>
de toutes vos activités, l'application apparaîtra dans le lanceur et ouvrira les paramètres de l'application Android OS), à l'exception de: