Ответ Зелимира верный.Но в некоторых случаях это не даст вам все установленные сторонние приложения.ApplicationInfo
также имеет флаг FLAG_UPDATED_SYSTEM_APP
, который установлен
Если это приложение было установлено в качестве обновления встроенного системного приложения
На моем смартфонеК таким приложениям относятся Amazone Kindle, Adobe Reader, Slacker Radio и другие.Эти приложения не поставлялись с телефоном и были установлены из Google Play Store.Таким образом, они могут рассматриваться как сторонние приложения.
Итак, вы также можете установить флажок FLAG_UPDATED_SYSTEM_APP
.
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
}
}