NotificationCompat.Builder .setLights funtzt nicht

  • Servus Leute,


    Ich habe mal wieder ein Problem, und zwar funktioniert bei mir die .setLights Funktion nicht.


    Wenn ich die Default-Einstellung nehme, funtzt es - aber dass möchte ich nicht da ich über setLights gerne selbst die Farbe und wie lange es an bleiben und ausbleiben soll Einstellen möchte, nur leider ohne Erfolg bist jetzt.


    Die Default-Funktion: //.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE | Notification.DEFAULT_LIGHTS)


    Kann bitte mir jemand sagen wieso dass nicht funtzt wenn ich das über die .setLights Funktion mache?


    Danke


    Code
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
                    .setSmallIcon(R.drawable.ausrufe)
                    .setContentTitle("Meldung")
                    .setContentText(message)
                    .setColor(getResources().getColor(R.color.transparent))
                    .setContentIntent(pendingIntent)
                    .setAutoCancel(true)
                    .setPriority(NotificationCompat.PRIORITY_MAX)
                    .setLights(Color.RED, 1000,500)
                    //.setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE | Notification.DEFAULT_LIGHTS)
  • Danke für deine Antwort. Aber es geht keiner der Farben über .setLights egal was ich da angebe. Habe ein Huawei Mate 9, alles aktuell.
    Gebe ich aber wie oben schon gesagt das: .setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE | Notification.DEFAULT_LIGHTS) an funtzt es tadellos, die LED leuchtet grün aber das will ich nicht das es Standart ist.


    Hi die Farbe der LED kan bei den meisten Handys nur drei Farben darstellen. Das könnte ei Grund sein. Bei mir sind die die Farben weiß. Blau grün Orange möglich. Rot geht bei mir nicht

  • wie ist die Farbe definiert ? Laut Google muss sie im argb angegeben werden.
    https://developer.android.com/…Notification.html#ledARGB


  • Danke für deine Antwort, auf der Seite war ich natürlich schon unterwegs. Habe folgendes probiert:
    .setLights(0xFFFF0000, 1000 , 500)Da passiert genau so wenig.


    oder so:



    Es tut sich einfach nichts bei diesen Mist... ^^


    wie ist die Farbe definiert ? Laut Google muss sie im argb angegeben werden.
    https://developer.android.com/…Notification.html#ledARGB

  • habe es gerade mal getestet bei meinem alten S5 gehen alle Farben.
    natürlich musst du den Intent auch auslösen und dann den Bildschirm dunkel machen ohne die Noti dir anzuschauen.

  • Danke für deine Anwort, aber egal wie ich es mache es funktioniert nicht. Nur wenn ich den "Standart Wert setze: .setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE | Notification.DEFAULT_LIGHTS) " funtzt das. Aber das nützt mir nichts, da ich extra Vibrationen und Töne verwende. Ist doch nicht mehr normal :D Ach ja, dass witzige - bei meinen S3 oder LG funtzt es - nur eben nicht bei den HUAWEI.. geht mir nicht in den Kopf!

    habe es gerade mal getestet bei meinem alten S5 gehen alle Farben.
    natürlich musst du den Intent auch auslösen und dann den Bildschirm dunkel machen ohne die Noti dir anzuschauen.

  • Welsche API Version hat das Huawei?
    Das es auf deinen anderen Handys geht hättest du uns auch sagen können.


    Dein Mate 9 dürfte schon Android 8 API 26 haben . Benutze den ersten Constructor mal.

  • Danke für deine Mühe. Habe das selber erst heute probiert und es ging eben!
    Habe Android-Version 8.0.0 EMUI-Version 8.0.0 API -> 26
    Probiere das die Tage mal und gebe Feedback!

    Welsche API Version hat das Huawei?
    Das es auf deinen anderen Handys geht hättest du uns auch sagen können.


    Dein Mate 9 dürfte schon Android 8 API 26 haben . Benutze den ersten Constructor mal.

  • kann dir da leider auch nicht helfen habe kein Handy mit Android 8. Vielleicht liegt es an dem Huawei und weniger an Android 8. Du könntest eine einfache apk machen und die bei Freunden mit anderen Handys und a8 testen.


    Was mir noch einfällt wie sieht dein greadle File aus? Hast du auch die Supportlib geladen?

  • Danke noch mal für deine Antwort. Ja werde jetzt mal eine simple machen und diese an ein paar Leute schicken, dass ist ja nicht mehr feierlich :D


    Meine buil.gradle sieht wie folgt aus:




    kann dir da leider auch nicht helfen habe kein Handy mit Android 8. Vielleicht liegt es an dem Huawei und weniger an Android 8. Du könntest eine einfache apk machen und die bei Freunden mit anderen Handys und a8 testen.


    Was mir noch einfällt wie sieht dein greadle File aus? Hast du auch die Supportlib geladen?

  • Hi setze mal compileSdkVersion 25, targetSdkVersion 25, buildToolsVersion '27.0.3' weglassen


    Was mich wundert ist das du die support V4 nicht lädst.
    Auch das du die Suport:appcompat-v7:23.4.0' in der Version 23 und nicht 27 lädst da kommt normaleweise ein fehler weil


    CompileSDK und SpportLib nicht zusammen passen.



    also versuche deine App auf der alten SDK 25 zu Comileren
    die SupportLibs müssen auch eine 25 API haben glaube 25.0.1 musst du schaun.


    es sieht für mich aus als ob das erst eine Version für AS 2.3. war.


    ps. Support 25.4.0 ist die neuste

  • Da war der entscheide Tipp, nachdem ich alles angepasst habe in der gradle und aktuallisiert habe, funktioniert es endlich! so ein "kleiner" Fehler... :P


    Aber ich habe eine Rote Lampe gesetzt und sie blinkt aber Weiss, woran kann das wieder liegen :D ?


    Danke!!!!!

  • Also wie gesagt, es blinkt jetzt, aber eben nicht wie ich im Moment gesetzt habe: Rot. Es blinkt in Weiss :P


    Also meine gradle sieht jetzt so aus:





    Der NotificationManager:



    Java: Java
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                NotificationChannel notificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, "My Notifications", NotificationManager.IMPORTANCE_DEFAULT);
                notificationChannel.setDescription("Kanal");
                notificationChannel.enableLights(true);
                notificationChannel.setLightColor(Color.RED);
                notificationManager.createNotificationChannel(notificationChannel);
            }

    NotificationCompat.Builder:



    Code
    NotificationCompat.Builder builder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID)
                    //.setVibrate(new long[]{0, 100, 100, 100, 100, 100})
                    .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
                    .setSmallIcon(R.mipmap.ic_launcher)
                    .setContentTitle("Meldung")
                    .setContentText(message);
    
    
            notificationManager.notify(NOTIFICATION_ID, builder.build());

    @jogimuc

  • ok du Kompilierst immer noch auf SDK 26 Fehler war scheinbar die falsche Suportlib.
    Der Constructor ist eigentlich auch erst ab API 26.1 veraltet. Du hast aber API 26 auf dem Handy.
    Teste mal andere Farbe.
    oder Kompiliere mit API 25 um ganz sicher zu gehen dann wird immer das alte Notification system benutz.
    Auch wenn das Handy A8 oder höher hat. sieht dann für das Handy so aus als wenn die App vor Jahren unter A7 geschrieben wurden ist wo es noch kein A8 gab.


    Übrigens soltest du die minSdkVersion nicht auf 26 setzen sonst kannst du es auf ältern Handys nicht instalieren.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!