Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android .setColor for Large Icon

I wanted to ask if there is a way to set the color of a notification with .setColor from .setLargeIcon ? Because as soon as I use both the .setSmallIcon and .setLargeIcon my color is used for the small Icon. I wanted to represent my individual notification icon with the LargeIcon and the app icon from which the notification was triggered with small Icon.

Example:

Bitmap maintenanceIcon = BitmapFactory.decodeResource(getResources(),R.drawable.maintenance);
            Intent replacePumpIntent = new Intent(this, FoodListActivity.class);
            PendingIntent replacePumpPendingIntent =  PendingIntent.getActivity(this,0,replacePumpIntent, PendingIntent.FLAG_UPDATE_CURRENT);
            NotificationCompat.Builder maintenanceBuilder = new NotificationCompat.Builder(this)


                    .setLargeIcon(maintenanceIcon)
                    .setSmallIcon(R.drawable.app)
                    .setContentTitle("Maintenance: ")
                    .setColor(getResources().getColor(R.color.alertMaintenance))
                    .setContentText(Html.fromHtml(getString(R.string.alert_maintenance_message)))

                    .setLights(Color.YELLOW, 500 , 500)
                    .setVibrate(new long[] { 100, 250, 100, 250, 100, 250 })
                    .setPriority(0x00000001)
                    .setStyle(new NotificationCompat.BigTextStyle()
                            .bigText(Html.fromHtml(getString(R.string.alert_maintenance_message))))
                    .addAction(R.drawable.ic_arrow_right_black, getString(R.string.alert_maintenance_button_1),replacePumpPendingIntent );

            NotificationManager maintenanceNotificationManager =
                    (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
            maintenanceNotificationManager.notify(3, maintenanceBuilder.build());
like image 433
BinaryIT Avatar asked Nov 18 '14 13:11

BinaryIT


2 Answers

According to this: https://stackoverflow.com/a/27023679/327011

There is no way to change the Large Icon background when having both. The large icon should not be a transparent.

like image 50
neteinstein Avatar answered Oct 17 '22 00:10

neteinstein


this will help you to remove grey color from the notification icon

 Notification notification = new NotificationCompat.Builder(context)
    .setSmallIcon(R.mipmap.ic_launcher)
    .setContentText("Simple description of something meaningful")
    .setContentTitle("Yo check this out")
    .setColor(context.getResources()
            .getColor(R.color.brand_color))
    .build();

 NotificationManager manager  = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);

 manager.notify(SINGLE_NOTIFICATION_ID, notification);

 brand_color is defined as #FF0066CC.

Source

like image 45
Adit Chauhan Avatar answered Oct 17 '22 00:10

Adit Chauhan