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