在活动中创建一个按钮以启动android中所有已安装的应用程序

时间:2012-08-25 10:03:13

标签: android android-layout

我正在尝试在活动中创建一个按钮以启动所有已安装的应用程序作为主屏幕上的应用程序启动器按钮打开所有应用程序。 这将是一个很好的帮助示例

1 个答案:

答案 0 :(得分: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());

        }
    }