Pregunta ¿Es posible desinstalar programáticamente un paquete en Android?


¿Puede un paquete desinstalarse solo? ¿Puede un paquete desinstalar otro paquete si comparten el mismo ID de usuario y firma?


32
2018-05-21 02:18


origen


Respuestas:


Oye, probablemente sea demasiado tarde, pero esto funciona para mí.

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

12
2017-07-13 11:55



Una aplicación de terceros no puede instalar o desinstalar ningún otro paquete mediante programación, eso sería un riesgo de seguridad para Android. Sin embargo, una aplicación de terceros puede pedir el sistema operativo Android para instalar o desinstalar un paquete con intenciones, esta pregunta debe proporcionar información más completa:

Instalar / desinstalar APKs programáticamente (PackageManager vs Intents)


5
2018-03-08 18:30



En Kotlin, usando la API 14+, puede llamar a lo siguiente:

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

O con Android KTX:

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

Mostrará el mensaje de desinstalación para su aplicación. Tu puedes cambiar packageName a cualquier nombre de paquete de otra aplicación si es necesario.


1
2017-10-18 19:51



¡La aplicación de terceros no puede desinstalar la aplicación silenciosamente!

O necesita convertirse en la aplicación del sistema para obtener DELETE_PACKAGES Permiso más que necesita mostrar Desinstalar Popup (Confirmación de usuario)

Alternativamente, puede tomar el permiso de Accesibilidad y luego mostrando una Superposición de Accesibilidad puede decirle a su servicio que haga clic en Desinstalar ¡botón!


0
2018-03-29 20:20