如何获得 Activity 名称为 Activity 的图标
How can I get Activity Icon with Activity name
我无法加载名称为 Activity 的 Activity 图标。
我有一个pakcageName和一个activity名字,实际上是class名字
我要获取Activity图标
'private List<ResolveInfo> apps;
private PackageManager pm;
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
pm = getPackageManager();
apps = pm.queryIntentActivities(mainIntent, 0);
ResolveInfo info = apps.get(position);
pn = info.activityInfo.packageName
na = info.activityInfo.name
imageView.setImageDrawable(pm.getActivityIcon(new ComponentName(pn, na)));'
您可以通过以下方式找到您的应用程序图标:
1 - 检查您的清单您的应用程序图标
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
2 - 这样理解:
imageView.setImageDrawable(R.drawable.ic_launcher));
应该这样做:
public Drawable getActivityIcon(
Context context,
String packageName, String activityName) {
PackageManager packageManager = context.getPackageManager();
Intent intent = new Intent();
intent.setComponent(new ComponentName(packageName, activityName));
ResolveInfo resolveInfo = packageManager.resolveActivity(intent, 0);
return resolveInfo.loadIcon(packageManager);
}
我无法加载名称为 Activity 的 Activity 图标。
我有一个pakcageName和一个activity名字,实际上是class名字
我要获取Activity图标
'private List<ResolveInfo> apps;
private PackageManager pm;
Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
pm = getPackageManager();
apps = pm.queryIntentActivities(mainIntent, 0);
ResolveInfo info = apps.get(position);
pn = info.activityInfo.packageName
na = info.activityInfo.name
imageView.setImageDrawable(pm.getActivityIcon(new ComponentName(pn, na)));'
您可以通过以下方式找到您的应用程序图标:
1 - 检查您的清单您的应用程序图标
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
2 - 这样理解:
imageView.setImageDrawable(R.drawable.ic_launcher));
应该这样做:
public Drawable getActivityIcon(
Context context,
String packageName, String activityName) {
PackageManager packageManager = context.getPackageManager();
Intent intent = new Intent();
intent.setComponent(new ComponentName(packageName, activityName));
ResolveInfo resolveInfo = packageManager.resolveActivity(intent, 0);
return resolveInfo.loadIcon(packageManager);
}