2015-04-08 5 views
3

En fait, mon exigence est d'obtenir la couleur de l'icône de toute application installée sur mon appareil. Je souhaite afficher un écran de verrouillage de cette couleur. Alors, comment puis-je obtenir le code de couleur de n'importe quelle icône par programme?Comment obtenir le code couleur de l'icône de l'application par programme dans android?

+0

bien les icônes ont des couleurs différentes à l'intérieur, peut-être vous pouvez essayer de trouver quelle couleur est dominante. Vous pouvez également essayer de faire une liste des noms d'application populaires et des couleurs d'icônes qui leur sont associées manuellement. –

+0

à la première place, avez-vous déjà considéré que n'importe quelle icône peut avoir (et a généralement) une couleur multiple? –

+0

Oui, je sais que l'icône de l'application comporte plusieurs couleurs. Par exemple, vous pouvez voir dans l'applock CM Security. Dans cette applock, il obtient la couleur de l'icône de l'application et s'affiche dans l'écran de verrouillage. –

Répondre

3

si vous voulez obtenir d'un seul icon--

Bitmap bitmap; 
// create the bitmap from your obtained image 
int pixel = bitmap.getPixel(x,y); // x,y is the desired position of the target pixel, for full imag, you have to do the same thing in a loop 

int red = Color.red(pixel); 
int green = Color.green(pixel); 
int blue = Color.blue(pixel); 

valeur RVB de la couleur toutes les valeurs retournées sont int votre niveau 0 - 255. Vous pouvez modifier ce code et d'obtenir une couleur partout, à condition de pouvoir le transformer en bitmap. Et vous pouvez utiliser l'API de couleur pour obtenir une valeur RVB réelle comme ceci:

int rgb = Color.rgb(red, blue, green); // rgb value of a single pixel, 

Maintenant, afin d'obtenir les tous les pixels à la fois, vous pouvez utiliser Bitmap.getPixels()

int[] allPixels = new int[bitmap.getWidth()*bitmap.getHeight()]; 
bitmap.getPixels(allPixels, 0, bitmap.getWidth(), 0, 0, bitmap.getWidth(), bitmap.getHeight()); 
0

Je ne sais ce que vous entendez par obtenir la couleur de l'icône, car l'icône est une image, mais vous pouvez chercher l'icône d'une application connue comme ceci: https://stackoverflow.com/a/13609127/3965178

Et vous pouvez chercher toutes les applications installées comme ceci: How to get all apps installed on android phone

J'espère que cela vous aidera un peu.

+0

bonjour Lars ... Mon intention est d'obtenir le code couleur de l'icône de l'application installée et merci de me donner une idée. –