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(int resId)
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.