我正在尝试在活动中创建一个按钮来启动所有已安装的应用程序,因为主屏幕上的应用程序启动器按钮打开所有应用程序。这将是一个很大的例子
问问题
92 次
1 回答
0
下面的代码为您提供了所有已安装的应用程序。我正在过滤掉可以启动的应用程序。如果您想要所有应用程序,无论它们是否可以启动,那么您可以删除 if (mIntent != null) 检查。
List<PackageInfo> apps = getPackageManager().getInstalledPackages(0);
for (int i = 0; apps != null && i < apps.size(); i++) {
PackageInfo p = apps.get(i);
Intent mIntent = getPackageManager().getLaunchIntentForPackage(
p.packageName);
if (mIntent != null) {
PackageManager pm = getApplicationContext().getPackageManager();
ApplicationInfo appInfo = null;
try {
appInfo = pm.getApplicationInfo(p.packageName, 0);
} catch (NameNotFoundException e) {
e.printStackTrace();
}
String appName = pm.getApplicationLabel(appInfo).toString();
Drawable appIcon = appInfo.loadIcon(getApplicationContext()
.getPackageManager());
}
}
于 2012-08-27T13:02:04.983 回答