我正在從我的設備上創建已安裝的應用程序的快捷方式。我想要在我的應用程序中獲取所有應用程序的啓動器圖標。但因爲我不知道該代碼得到它,我用這一個的平均時間(這是我正在開發當前應用程序的圖標):在Android中獲取安裝的快捷方式的應用程序圖標
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(context, R.drawable.ic_launcher));
你可能會請幫助我從設備中獲取已安裝應用程序的啓動器圖標?
這裏是我的代碼安裝快捷方式。
ActivityInfo ai = res.get(app_id).activityInfo;
Intent shortcutIntent = new Intent(Intent.ACTION_MAIN);
shortcutIntent.setClassName(ai.packageName, ai.name);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
shortcutIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Intent intent = new Intent();
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, appName);
intent.putExtra("duplicate", false);
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(context, R.drawable.ic_launcher));
intent.setAction("com.android.launcher.action.INSTALL_SHORTCUT");
context.sendBroadcast(intent);
獲得誤差在i.addView(i)中。它說,方法addView(ImageView)對於ImageView類型是未定義的。 – androidBoomer
也在行i =(ImageView)i.getChildAt(0),它表示,方法getChildAt(int)未定義類型ImageView – androidBoomer
@androidBoomer:我的壞,抱歉!我在我的答案中更新了代碼。 – VikramV