Question

Je vais désinstaller une application lorsque l'utilisateur clique sur un bouton.avec ce code :

Uri packageURI = Uri.parse("package:"
        + pkNames[position]);
Intent uninstallIntent = new Intent(
Intent.ACTION_DELETE, packageURI);
context.startActivity(uninstallIntent);

mais certaines applications ne sont pas désinstallables.comme Paramètres ou Musique ou ...quand je vais désinstaller ces applications je vois :la désinstallation n'a pas réussi.

Je récupère mes colis avec ce code :

        Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
        mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
        packages = pm.queryIntentActivities(mainIntent, 0);

Comment puis-je détecter qu’une application est désinstallable ou non ?

Était-ce utile?

La solution

Vous devez vérifier si l'application que vous essayez de désinstaller est "système" en examinant ApplicationInfo.flags.L'application système a ApplicationInfo.FLAG_SYSTEM jeu de bits.Voici un petit bout de code :

boolean isSystem(ApplicationInfo info) {
   return (info.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
}

Vérifier documentation pour la classe ApplicationInfo pour d'autres drapeaux utiles.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top