La respuesta de RoflcoptrException es correcta. Pero en algunos casos, no le proporcionará todas las aplicaciones de terceros instaladas. ApplicationInfo
también tiene bandera FLAG_UPDATED_SYSTEM_APP
que se establece
Si esta solicitud ha sido instalar como una actualización de un sistema integrado de aplicación
en mi teléfono inteligente Tales aplicaciones incluyen Amazone Kindle, Adobe Reader, Slacker Radio y otros. Estas aplicaciones no vienen con el teléfono y se instalaron desde Google Play Store. Por lo tanto, pueden considerarse aplicaciones de terceros.
Por lo tanto, es posible que desee comprobar FLAG_UPDATED_SYSTEM_APP
bandera.
final PackageManager packageManager = _context.getPackageManager();
List<ApplicationInfo> installedApplications =
packageManager.getInstalledApplications(PackageManager.GET_META_DATA);
for (ApplicationInfo appInfo : installedApplications)
{
if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0)
{
// IS A SYSTEM APP
}
if ((appInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0)
{
// APP WAS INSTALL AS AN UPDATE TO A BUILD-IN SYSTEM APP
}
}
¿Qué quiere decir por terceros? ¿No de Google? ¿No de ti? – RoflcoptrException
@Roflcoptr Instalado en el sistema o instalado por el usuario. –