Set Drawable or Bitmap as icon In Notification in Android

后端 未结 4 1803
春和景丽
春和景丽 2020-12-06 04:58

I download a image from server as bitmap and convert it to drawable now i want to use this drawable as notification icon. But i am unable to do that. here is my code:

<
4条回答
  •  無奈伤痛
    2020-12-06 05:34

    If you read the developer documents specific to Notification.Builder you will see that setSmallIcon(int icon) needs a A resource ID in the application's package of the drawable to use.

    Downloading an image, converting to a bitmap and then setting it to the setSmallIcon() is still going to give you an error.

    Even if you were to convert the Bitmap to a Drawable like this for instance:

    Drawable d = new BitmapDrawable(getResources(), bmpFinal);
    

    it is still going to give you an error because that Drawable does not exist in your application package.

    The only possible solution is to use a Drawable resource that exists in your package and set it to the setSmallIcon() method. Typical usage:

    builder.setSmallIcon(R.drawable.ic_launcher);
    

    Alternatively, the setLargeIcon (Bitmap icon) requires a Bitmap instance. Without having to make any additional changes in your current code (since you already have a Bitmap), you can use that as it is, if it fits your requirement.

    If not, you pretty much have to use a Drawable resource that is already present in one of the drawable folders.

提交回复
热议问题