目前我正在使用以下代码:
List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);
但它会返回设备制造商和我安装的应用程序。如何限制它以便只返回我安装的应用程序?
最佳答案
// Flags: See below
int flags = PackageManager.GET_META_DATA |
PackageManager.GET_SHARED_LIBRARY_FILES |
PackageManager.GET_UNINSTALLED_PACKAGES;
PackageManager pm = getPackageManager();
List<ApplicationInfo> applications = pm.getInstalledApplications(flags);
for (ApplicationInfo appInfo : applications) {
if ((appInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1) {
// System application
} else {
// Installed by user
}
}
标志:
关于android - 如何获取用户在 Android 设备上安装的应用列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4598769/