私は3.0以降をAndroidに適用されるものを前の回答に何かを追加したい:
はここでパッケージ/アプリケーション/設定/ RES /レイアウト/ manage_applications_item.xmlからの抜粋です。
この標準的な方法で取得したアイコン(つまり、applicationInfo.loadIconやその他の一般的な方法)は、ランチャーアプリに表示されるアイコンよりも小さいことがわかります。スケールアップするだけで、アイコンがぼやけてしまいます。大きなアイコンが必要な場合は、次のコードを使用することができます(ランチャーのソースコードから取得しました。hereが見つかり、少し変更されています)。 activityManager.getLauncherLargeIconDensity
メソッドに注意してください。
public Drawable getFullResDefaultActivityIcon() {
return getFullResIcon(Resources.getSystem(), android.R.mipmap.sym_def_app_icon);
}
public Drawable getFullResIcon(Resources resources, int iconId) {
Drawable d;
try {
ActivityManager activityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
int iconDpi = activityManager.getLauncherLargeIconDensity();
d = resources.getDrawableForDensity(iconId, iconDpi);
} catch (Resources.NotFoundException e) {
d = null;
}
return (d != null) ? d : getFullResDefaultActivityIcon();
}
public Drawable getFullResIcon(String packageName, int iconId) {
Resources resources;
try {
resources = mContext.getPackageManager().getResourcesForApplication(packageName);
} catch (PackageManager.NameNotFoundException e) {
resources = null;
}
if (resources != null) {
if (iconId != 0) {
return getFullResIcon(resources, iconId);
}
}
return getFullResDefaultActivityIcon();
}
public Drawable getFullResIcon(ResolveInfo info) {
return getFullResIcon(info.activityInfo);
}
public Drawable getFullResIcon(ActivityInfo info) {
Resources resources;
try {
resources = mContext.getPackageManager().getResourcesForApplication(info.applicationInfo);
} catch (PackageManager.NameNotFoundException e) {
resources = null;
}
if (resources != null) {
int iconId = info.getIconResource();
if (iconId != 0) {
return getFullResIcon(resources, iconId);
}
}
return getFullResDefaultActivityIcon();
}
private Drawable getAppIcon(ResolveInfo info) {
return getFullResIcon(info.activityInfo);
}
誰かを助けることを願っています。
を、私はしかし、アプリケーションの標準のランチャーリスト(設定で「管理するアプリケーション」の表示中のアプリではないリスト)にあなたが(美しい大きなアイコンが表示され、同じ問題 –
を持っていますあなたが説明したようにスケールアップされたぼやけたアイコンとは異なり、何か他の方法が必要です:-( –