2009-05-21 4 views
32

Un package peut-il se désinstaller? Un paquet peut-il désinstaller un autre paquet s'il partage le même userId et la même signature?Est-il possible de désinstaller un package par programme sous Android?

+0

Thks pour demander ... Je sais qu'il ya une application tierce appelée désinstallation facile qui vous permet de désinstaller le paquet alors peut-être que nous devrions regarder la source. –

Répondre

5

Une application tierce ne peut pas installer ou désinstaller d'autres packages par programme, ce qui constitue un risque de sécurité pour Android. Cependant, une application 3ème partie peut demander l'OS Android pour installer ou désinstaller un paquet en utilisant les intentions, cette question devrait fournir des informations plus complètes:

install/uninstall APKs programmatically (PackageManager vs Intents)

+1

en 2017 pouvons-nous maintenant? –

12

Hey probablement trop tard, mais cela fonctionne pour moi.

Uri packageURI = Uri.parse("package:"+"your.packagename.here"); 
    Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI); 
    startActivity(uninstallIntent); 
0

Yo peut y parvenir en prenant d'abord l'autorisation d'accessibilité, puis en montrant un Accessbility Overlay vous pouvez dire à votre service, cliquez sur le bouton Désinstaller !

0

En Kotlin, en utilisant l'API 14+, vous pouvez simplement appeler:

startActivity(Intent(Intent.ACTION_UNINSTALL_PACKAGE).apply { 
    data = Uri.parse("package:$packageName") 
}) 

Il montrera l'invite de désinstallation pour votre application. Vous pouvez remplacer packageName par n'importe quel nom de package d'une autre application si nécessaire.

Questions connexes