2013-02-19 15 views
8

Sto tentando di utilizzare una notifica che utilizza anche il LED di notifica sul mio S3, ma per qualche motivo il colore sarà sempre blu (suppongo che sia l'impostazione predefinita?). Ho provato ad usare colori diversi ma non cambia nulla. Altre app (come Whatsapp, Gmail e Facebook non hanno problemi a mostrare una luce di colore diversa).LED di notifica Android non utilizza il mio colore

Notification.Builder noteBuilder = new Notification.Builder(context) 
       .setAutoCancel(true) 
       .setPriority(Notification.PRIORITY_DEFAULT) 
       .setSmallIcon(R.drawable.ic_launcher) 
       .setContentTitle(ContentTitle) 
       .setContentText(ContentText) 
       .setLights(Color.YELLOW, 500, 500) 
       ; 

Intent noteIntent = new Intent(context,HoofdScherm.class); 
PendingIntent notePendingIntent = PendingIntent.getActivity(context, 0, noteIntent, PendingIntent.FLAG_CANCEL_CURRENT); 
noteBuilder.setContentIntent(notePendingIntent); 

Notification note = noteBuilder.build(); 
note.ledARGB = Color.YELLOW; 
NotificationManager mgr = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE); 
mgr.notify(0,note); 
+0

nonostante l'impostazione del colore del LED è parte dell'API funziona davvero molto diverso sulla maggior parte dei dispositivi e non funzionerà su tutti i dispositivi. Alcuni usano il colore principale dell'icona di avvio dell'app, alcuni usano il tipo di notifica/priorità. –

+0

eventuali modifiche se non si imposta una priorità? inoltre, dal momento che si sta modificando la notifica dopo la creazione, è necessario aggiungere tutti i passaggi per creare luce LED anche lì 'notification.ledARGB = 0xff00ff00; notification.ledOnMS = 300; notification.ledOffMS = 1000; notification.flags | = Notification.FLAG_SHOW_LIGHTS; ' –

+0

Ho provato a cambiare la priorità (ho usato DEFAULT, HIGH e alzo ho provato a non impostarlo). Non ha fatto la differenza. Successivamente proverò a utilizzare un'icona diversa, ma non credo che farà la differenza perché app come light manager possono impostare il colore di notifica sul mio S3. –

risposta

11

È necessario assicurarsi tutte le impostazioni predefinite vengono sovrascritte impostando

notification.defaults = 0;

+0

questo non sembra funzionare per me. dove stai settando i valori di default a 0? dopo 'Notification note = noteBuilder.build();' ma prima di 'note.ledARGB = Color.YELLOW;'? ho la mia priorità impostata su max e sto testando su un nesso 5. – toobsco42

+0

Quindi ho capito che il mio problema era che il mio dispositivo non era in modalità sleep. Devi assicurarti che la barra delle notifiche non sia già stata tirata giù (ad esempio, l'utente non ha guardato la notifica). In questo caso, il LED lampeggia solo. http://stackoverflow.com/questions/3297835/how-can-i-enable-vibration-and-lights-using-the-android-notifications-api – toobsco42

-1

avere uno sguardo su fonte qui sotto. Funzionando perfettamente su S3:

NotificationCompat.Builder mBuilder = 
       new NotificationCompat.Builder(ctx) 
         .setPriority(Notification.PRIORITY_HIGH) 
         .setSmallIcon(getNotificationIcon()) 
         .setColor(0xff493C7C) 
         .setContentTitle(ctx.getString(R.string.app_name)) 
         .setContentText(msg) 
         .setDefaults(Notification.DEFAULT_SOUND) 
         .setLights(0xff493C7C, 1000, 1000) 
         .setStyle(new NotificationCompat.BigTextStyle().bigText(styledMsg)); 
Problemi correlati