RoflcoptrException的答案是正确的。但在某些情况下,它不会为您提供所有已安装的第三方应用程序。 ApplicationInfo
也有标志FLAG_UPDATED_SYSTEM_APP
被设置
如果该应用已经作为更新安装到内置系统 应用
在我的智能手机这样的应用包括女将点燃,Adobe Reader中, Slacker电台等。这些应用程序没有随电话一起提供,而是从Google Play商店安装的。因此,他们可以被视为第三方应用程序。
因此,您可能还想检查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
}
}
你说的第三方是什么意思?不是来自Google?不是从你? – RoflcoptrException 2011-04-01 14:47:46
@Roflcoptr安装到系统上或由用户安装。 – 2011-04-01 14:51:25