2017-09-06 3 views
0

Ich versuche verzweifelt, eine Benachrichtigungsfunktion zu meiner Anwendung hinzuzufügen, die die Benachrichtigungs-LED blinkt. Nachdem alle meine Versuche, nichts funktioniert ...Android - LED-Benachrichtigung blinkt nicht

Hier ist mein Code:

@Override 
public void onMessageReceived(RemoteMessage remoteMessage) { 
    super.onMessageReceived(remoteMessage); 
    NotificationCompat.Builder notification = new NotificationCompat.Builder(this) 
      .setLights(Color.BLUE, 200, 200) 
      .setContentTitle(remoteMessage.getData().get("title")) 
      .setContentText(remoteMessage.getData().get("body")) 
      .setColor(getColor(R.color.buttonBlueInactive)) 
      .setSmallIcon(R.mipmap.ic_launcher); 
    NotificationManagerCompat manager = NotificationManagerCompat.from(this); 
    manager.notify(1, notification.build()); 
} 

Wenn jemand helfen könnte, wäre es wirklich geschätzt.

SOLUTION

Für diejenigen, die das gleiche Problem haben, die ich hatte, gibt es die Lösung:

@Override 
public void onMessageReceived(RemoteMessage remoteMessage) { 
    super.onMessageReceived(remoteMessage); 
    NotificationCompat.Builder notification = new NotificationCompat.Builder(this) 
      .setLights(Color.BLUE, 200, 200) 
      // Add the line bellow 
      .setDefaults(Notification.DEFAULT_VIBRATE | Notification.DEFAULT_SOUND | Notification.FLAG_SHOW_LIGHTS) 
      .setContentTitle(remoteMessage.getData().get("title")) 
      .setContentText(remoteMessage.getData().get("body")) 
      .setColor(getColor(R.color.buttonBlueInactive)) 
      .setSmallIcon(R.mipmap.ic_launcher); 
    NotificationManagerCompat manager = NotificationManagerCompat.from(this); 
    manager.notify(1, notification.build()); 
} 
+0

Versuchen Sie, den Timer für Tests zu erhöhen ... Veränderung gegenüber dem 200 bis 2000 nur um zu testen, ob sich etwas ändert. – W0rmH0le

+0

Ich habe es gerade versucht, aber es hat nicht funktioniert. –

+0

Ok. Sie bekommen die Benachrichtigung zumindest, oder? Nur die LED die nicht richtig blinkt? – W0rmH0le

Antwort

0

Option 1

Wenn ich mich nicht falsch, Sie fehlen setDefaults()

@Override 
public void onMessageReceived(RemoteMessage remoteMessage) { 
    super.onMessageReceived(remoteMessage); 
    NotificationCompat.Builder notification = new NotificationCompat.Builder(this) 
      .setLights(Color.BLUE, 200, 200) 
      .setDefaults(Notification.DEFAULT_VIBRATE | Notification.DEFAULT_SOUND | Notification.FLAG_SHOW_LIGHTS) // Add this line 
      .setContentTitle(remoteMessage.getData().get("title")) 
      .setContentText(remoteMessage.getData().get("body")) 
      .setColor(getColor(R.color.buttonBlueInactive)) 
      .setSmallIcon(R.mipmap.ic_launcher); 
    NotificationManagerCompat manager = NotificationManagerCompat.from(this); 
    manager.notify(1, notification.build()); 
} 

In dem obigen Beispiel, habe ich folgende Möglichkeiten:

Notification.DEFAULT_VIBRATE | Notification.DEFAULT_SOUND | Notification.FLAG_SHOW_LIGHTS 

Möglicherweise möchten Sie nach Ihrem Bedarf ändern. Weitere Informationen:

Android DOC

Option 2

Wenn obigen Beispiel nicht, versuchen Sie funktioniert der Code unten:

@Override 
public void onMessageReceived(RemoteMessage remoteMessage) { 
    super.onMessageReceived(remoteMessage); 

    NotificationCompat.Builder notification = new NotificationCompat.Builder(this) 
      .setLights(Color.BLUE, 200, 200) 
      .setContentTitle(remoteMessage.getData().get("title")) 
      .setContentText(remoteMessage.getData().get("body")) 
      .setColor(getColor(R.color.buttonBlueInactive)) 
      .setSmallIcon(R.mipmap.ic_launcher); 

    Notification builtNotification = notification.build(); 
    builtNotification.flags |= Notification.FLAG_SHOW_LIGHTS; 

    NotificationManagerCompat manager = NotificationManagerCompat.from(this); 
    manager.notify(1, builtNotification); 
} 
+0

Willst du mich heiraten? Ich habe gerade den ganzen Tag versucht, es zu reparieren! Ich danke dir sehr ! –

+0

Gut zu wissen .. Bitte lassen Sie mich wissen, welche der oben genannten Codes für Sie arbeitete .. nur für zukünftige Referenzen ... – W0rmH0le

+0

Es ist der erste –