¿Cómo se puede detectar una aplicación no se puedan instalar?
Pregunta
Voy a desinstalar una aplicación cuando el usuario haga clic en un botón.con este código:
Uri packageURI = Uri.parse("package:"
+ pkNames[position]);
Intent uninstallIntent = new Intent(
Intent.ACTION_DELETE, packageURI);
context.startActivity(uninstallIntent);
pero algunas aplicaciones no no se puedan instalar.como el Ajuste o la Música o ...cuando voy a desinstalar estas aplicaciones veo :desinstalar no es correcta.
Puedo obtener mis paquetes con este código :
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
packages = pm.queryIntentActivities(mainIntent, 0);
¿Cómo puedo detectar una aplicación no se puedan instalar o no?
Solución
Usted debe comprobar si la aplicación que está tratando de desinstalar es "sistema" al mirar en ApplicationInfo.flags
.Aplicación del sistema tienen ApplicationInfo.FLAG_SYSTEM
conjunto de bits.Aquí es una pequeña pieza de código:
boolean isSystem(ApplicationInfo info) {
return (info.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
}
Verificación documentación para ApplicationInfo clase para otros indicadores.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow