Android 5.1 Push Notification Icon Is Blank
Solution 1:
You must use a transparent and white icon under Android Lollipop 5.0 or greater. You can extend ParsePushBroadcastReceiver class and override the two methods to get your notification icon compatible with these Android APIs.
@Overrideprotected int getSmallIconId(Context context, Intent intent) {
return R.drawable.your_notifiation_icon;
}
@OverrideprotectedBitmapgetLargeIcon(Context context, Intent intent) {
returnBitmapFactory.decodeResource(context.getResources(), R.drawable.your_notifiation_icon);
}
Remember to customize your code to support Lollipop and previous APIs.
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) {
return BitmapFactory.decodeResource(context.getResources(), R.drawable.your_notifiation_icon_lollipop);
}
else{
return BitmapFactory.decodeResource(context.getResources(), R.drawable.your_notifiation_icon);
}
Solution 2:
It is not related to Parse or push nitification, but just how Android 5.0 handles notification icons. See this releated question for details: Notification bar icon turns white in Android 5 Lollipop
Solution 3:
Although @Pelanes has the correct answer (and should be accepted), here's what I did. Note that the Parse docs for getSmallIconId state the following:
Retrieves the small icon to be used in a Notification. The default implementation uses the icon specified by com.parse.push.notification_icon meta-data in your AndroidManifest.xml with a fallback to the launcher icon for this package. To conform to Android style guides, it is highly recommended that developers specify an explicit push icon.
So it is not entirely necessary to override the getSmallIconId() and getLargeIcon() methods.
What I did to solve the problem was I just made a copy of my icon, punched transparent "holes" into the icon, and set the com.parse.push.notification_icon
meta-data in my manifest to point to this new icon.
For Android 5.0, it is required for your notification icon to be white and transparent, as others have mentioned. So creating the separate icon is necessary. One line in the manifest and one new drawable file is all it takes.
Solution 4:
Try this code.
BitmaplargeIcon= BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
NotificationCompat.Builderbuilder=newNotificationCompat.Builder(context)
.setSmallIcon(R.drawable.ic_launcher)
.setLargeIcon(largeIcon)
.setContentText(data)
.setContentTitle("Notification from Parse")
.setContentIntent(pendingIntent);
Post a Comment for "Android 5.1 Push Notification Icon Is Blank"