11

パッケージ名がわかっている場合、デバイス上の別の Android アプリケーションから Icon Launcher にアクセスするにはどうすればよいですか?

String googlePackageName = "com.google.maps";

Drawable googleIcon = googlePackageName.getIconLauncher() or something.
4

3 に答える 3

22

このタスクにはPackagerManager のgetApplicationIcon () を使用します。

Drawable appIcon = getPackageManager().getApplicationIcon("com.google.maps");
于 2012-11-28T15:54:37.813 に答える
2

私はこの質問に出くわしました。これまで聞いたことがない。しかし、私はこれが解決策になるはずだと思います:

Drawable icon = context.getPackageManager().getApplicationIcon(packageName);
于 2012-11-28T16:04:18.363 に答える
1

次の抜粋は、正しい方向を示しているはずです。

final Intent intent = new Intent(Intent.ACTION_MAIN, null);
            intent.addCategory(Intent.CATEGORY_LAUNCHER);
            intent.setPackage( packageName );
            final List<ResolveInfo> pkgAppsList = pm.queryIntentActivities( intent, 0 );
            if( pkgAppsList.size() > 0 ) {
                this.url = pkgAppsList.get(0).activityInfo.name;
                icon = pkgAppsList.get(0).activityInfo.loadIcon( pm );
                this.displayName = pkgAppsList.get(0).activityInfo.loadLabel( pm ).toString();
                this.module = pkgAppsList.get(0).activityInfo.packageName;
                this.isExternal = true;
                this.count = count;
            }
于 2012-11-28T15:57:35.030 に答える