Définir Drawable ou Bitmap en tant qu'icône dans Notification dans Android
- Je télécharger une image depuis le serveur en tant que bitmap et le convertir en drawable maintenant je veux profiter de cette drawable comme icône de notification. Mais je suis incapable de le faire. voici mon code:
Notification notification = new NotificationCompat.Builder(context)
.setContentTitle(title)
.setContentText(message)
.setContentIntent(intent)
.setSmallIcon(bitmap)
.setWhen(when)
.build();
mais l'icône est une des Ressources int valeur, de sorte que lorsque je l'ai utilisé il donne une erreur. Toute aide
Edit:
Maintenant je mettre à jour mon code et maintenant je fais comme ça :
Notification notification = new NotificationCompat.Builder(context)
.setContentTitle(title)
.setContentText(message)
.setContentIntent(intent)
.setSmallIcon(icon)
.setLargeIcon(bitmap)
.setWhen(when)
.build();
mais il donne une grande icône sur le côté gauche et le petit icône sur le côté droit. Je ne veux pas que ce donc pour cela, j'ai supprimer setSmallIcon ligne et exécuter mon code mais il n'est pas en me montrant les notifications
source d'informationauteur User42590
Vous devez vous connecter pour publier un commentaire.
Si vous lisez le développeur de documents spécifiques à
Notification.Builder
vous verrez quesetSmallIcon(int icône)
besoin d'un Un ID de ressource dans le package de l'application de la drawable à utiliser.Le téléchargement d'une image, la conversion d'une image bitmap, puis le mettre en
setSmallIcon()
est toujours en cours pour vous donner une erreur.Même si vous étiez à convertir le
Bitmap
à unDrawable
comme ceci par exemple:il est toujours en cours pour vous donner une erreur parce que
Drawable
ne existe pas dans votre trousse de demande.La seule solution possible est d'utiliser un
Drawable
ressource qui existe dans votrepackage
etsetSmallIcon()
méthode. Utilisation typique:Sinon, le
setLargeIcon (Bitmap icône)
nécessite une occurrence de Bitmap. Sans avoir à apporter des modifications supplémentaires dans votre code actuel (puisque vous avez déjà uneBitmap
), vous pouvez l'utiliser comme il est, si cela correspond à votre exigence.Si non, vous devez utiliser un
Drawable
ressource qui est déjà présent dans l'un desdrawable
dossiers.vous pouvez essayer d'utiliser cette méthode
http://javatechig.com/android/android-notification-example-using-notificationcompat
Il y a certains points à propos de cette question, principalement en relation avec l'API 23+, si vous êtes uniquement intéressé par setSmallIcon, aller à la 2ème et 3ème sujets.
1er :
Vous pouvez définir la LargeIcon à partir d'un Drawable (au lieu de l'id de Ressource), comme suit
2e :
Si vous avez besoin d'un SmallIcon dans l'API en dessous de 23, vous aurez besoin de mettre un id de ressource comme
R.drawable.your_resource
.Le NotificationCompat.Générateur de ne pas vous permettre d'utiliser Drawable
s or Bitmaps in
setSmallIcon()`.3ème :
heureusement , la prise en charge a été étendue à
Icon
type sursetSmallIcon()
dans la version 23+, à l'aide de la Notification.Builder, comme suit :Meilleure option pour obtenir de l'icône de l'application