2014-11-18 19 views
6

Chciałem zapytać, czy istnieje sposób, aby ustawić kolor powiadomienia z .setColor z .setLargeIcon? Ponieważ tak szybko, jak używam zarówno .setSmallIcon i .setLargeIcon mój kolor jest używany dla małej ikony. Chciałem reprezentować moją indywidualną ikonę powiadomienia za pomocą LargeIcon i ikony aplikacji, z której powiadomienie zostało wywołane z małą ikoną.Android .setColor dla dużych ikon

Przykład:

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()); 

Odpowiedz

2

to pomoże Ci usunąć kolor szary z ikony powiadomień

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