0

ホーム画面のアプリケーションランチャーボタンがすべてのアプリケーションを開くため、インストールされているすべてのアプリケーションを起動するボタンをアクティビティで作成しようとしています。それは例で大きな助けになるでしょう

4

1 に答える 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 に答える