之前有人问过这个问题: 如何获取所有应用程序(包括系统应用程序)的列表?
但是,当我打电话时getPackageManager().getInstalledPackages(0)
,它并没有返回所有应用程序。例如,此调用未找到以下应用程序:com.google.android.music, com.google.android.youtube, com.google.earth, com.google.android.gm
.
是因为它们是 Google 移动服务的一部分吗?
之前有人问过这个问题: 如何获取所有应用程序(包括系统应用程序)的列表?
但是,当我打电话时getPackageManager().getInstalledPackages(0)
,它并没有返回所有应用程序。例如,此调用未找到以下应用程序:com.google.android.music, com.google.android.youtube, com.google.earth, com.google.android.gm
.
是因为它们是 Google 移动服务的一部分吗?
代码:
public static List<ApplicationInfo> getInstalledAppInfos(Context context) {
final PackageManager packageManager = context.getPackageManager();
return packageManager.getInstalledApplications(PackageManager.GET_META_DATA);
}
测试:
List<ApplicationInfo> apps = getInstalledAppInfos(this);
for (int i = 0; i < apps.size(); i++) {
Log.d(TAG, "App( " + i + ") " + apps.get(i).packageName);
}