Obtenir l'icône de l'application dans Android
J'ai un peu de difficulté à extraire les icônes installées Application Android. Le code suivant renvoie les icônes de toutes les applications, cependant, certaines applications sont retournés avec de petites icônes (peut-être de drawable - ldpi dossier) alors que certains avec de grandes icônes.
List<PackageInfo> package = getPackageManager().getInstalledPackages(0);
for(PackageInfo p : package){
iApp.icon = p.applicationInfo.loadIcon(getPackageManager());
}
Comment puis-je obtenir des icônes qui sont tous de la même taille, tout comme dans la gestion de la section des Applications d'Android?
source d'informationauteur Raunak | 2011-01-05
Vous devez vous connecter pour publier un commentaire.
Apps peut être différente de la taille des icônes. Les Paramètres Android app charges icônes comme vous. Il met à l'échelle les icônes lors de l'affichage.
Voici un extrait de packages/apps/Settings/res/layout/manage_applications_item.xml:
Je veux ajouter quelque chose à la réponse précédente ce qui s'applique à Android 3.0 et supérieur.
Vous pouvez remarquer que les icônes extraites de cette manière standard (je veux dire applicationInfo.loadIcon et d'autres types de méthodes sont plus petits que les icônes que vous voyez dans le lanceur d'application. L'échelle, en fait juste des icônes de plus en plus floue. Si vous voulez de grandes icônes, vous pouvez utiliser le code suivant (je l'ai pris de lanceur de code source, vous pouvez trouver ici et un peu changé). Prêtez votre attention à
activityManager.getLauncherLargeIconDensity
méthode.Espère que cela aide quelqu'un.
Bien, cela a été répondu à un long temps de retour, ici est la fonction complète. J'espère que ça aidera d'autres.
Pour obtenir l'icône, vous devriez requête pour une icône pour les différents dpi.
Essayez ceci: