Notifications in Aufrufreihnfolge anzeigen??

  • Antworten:5
Phillip
  • Forum-Beiträge: 27

01.09.2014, 16:31:09 via Website

Hallo,

ich habe folgendes Problem: ich habe mich mit Benachrichtigungen versucht und eine kleine App gemacht mit 3 Buttons die bei Benutzung eine Notification auslösen. Nun ist jedoch das Problem das egal in welcher Reihnfolge man sie drückt, das die Notification1 immer als erstes dasteh, ich jedoch will das sie in der Reihnfolge im Status-bar sind wie man sie drückt. Kann mir jemand helfen? Code im Anhang (Notification3 ist noch nicht definiert):

Danke schonmal im Vorraus :)

public void sendNotification(View view) {
    switch(view.getId()){

        case R.id.button1:
            Notification1();
            break;

        case R.id.button2:
            Notification2();
            break;

        case R.id.button3:
            break;

        }
     }

private void Notification1() {

   NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
   builder.setAutoCancel(true);
   builder.setContentTitle("BasicNotification");
   builder.setContentText("Test");
   builder.setSmallIcon(R.drawable.icon1);

   Notification notification = builder.build();
   NotificationManager manager = (NotificationManager) this.getSystemService(NOTIFICATION_SERVICE);
   manager.notify(1, notification);

}

private void Notification2() {

   NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
   builder.setAutoCancel(true);
   builder.setContentTitle("BasicNotification");
   builder.setContentText("Test");
   builder.setSmallIcon(R.drawable.icon2);

   Notification notification = builder.build();
   NotificationManager manager = (NotificationManager) this.getSystemService(NOTIFICATION_SERVICE);
   manager.notify(2, notification);

}

}

Antworten
Jakob N.
  • Forum-Beiträge: 282

01.09.2014, 16:49:09 via Website

Die Notifications werden glaube ich nach der NOTIFICATION_ID (die du bei manager.notify(NOTIFICATION_ID, ...) aufsteigend sortiert.

LG Jakob

Antworten
Phillip
  • Forum-Beiträge: 27

01.09.2014, 17:12:17 via Website

ja aber wie kann ich das umgehen? so das sie nicht danach sortiert werden?

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

01.09.2014, 17:22:32 via Website

Normalerweise steht ne urhzeit dahinter danach müsste es klar sein, auch wenn die sortierung anders ist.
Ich glaube es liegt aber auch an der Id die du dem Notif Manager übergibst.

Wenn du diese Dynamisch machst dann ist die Rehenfolge richtig.

— geändert am 01.09.2014, 17:22:45

LG Pascal //It's not a bug, it's a feature. :) ;)

Phillip

Antworten
Phillip
  • Forum-Beiträge: 27

03.09.2014, 19:55:57 via Website

Tut mir leid das ich dich nochmal belästige aber ich suche jetzt schon ewig wie man dynamische ids macht (ich bin schlecht in googlen). ich finde keine seite bei der ein ähnliches problem ist wie das, was ich hier habe. Ist es einfach dynamische ids zu machen? Ansonten würde ich das vielleicht mit "if" befehelen probieren. meinst du geht das? so wenn man das als erstes drückt, dann ist die id 1 und wenn man danach das andere drückt, dann ist die id 2? Wäre nett wenn du mir helfen könntest, aber ich will lieber einmal bei deiner idee bleiben, weil ich eigentlich mehr wie 3 buttons machen will :)

Antworten
Jakob N.
  • Forum-Beiträge: 282

04.09.2014, 06:46:09 via App

Du musst dir in SharedPreferences deine letzte ID abspeichern, und dann diese für die Notification +1 verwenden und wieder abspeichern.

EDIT: Du musst die Zahl auch dann irgendwann zurück setzen dass du keinen Überlauf bekommst. zB wenn die Id 1000 war is sie wieder 1 (einfache if-bedinung)

— geändert am 04.09.2014, 06:47:09

LG Jakob

Antworten