K
Kliff
Neues Mitglied
- 1
Hallo,
ich will folgendes machen: Es sollen mehrere Statusbar Notifications angezeigt werden. Beim Klick auf eine Notification soll eine Methode aufgerufen werden. Damit die Methode weiß welche Notification angeklickt wurde, will ich dem Event weitere Daten mitgeben.
Ich erzeuge die Notification auf folgende Weise:
Die Variable testDaten enthält bei jeder Notification einen anderen Wert. Über diesen Wert soll später identifiziert werden welche Notification angeklickt wurde. Ich fange den klick Event auf folgende Weise ab:
Ich registriere einen BroadcastListener...
...der Listener fängt den Event ab und versucht anhand von "test_daten" herauszufinden auf welche Notification geklickt wurde.
Auf diese Weise werden nun mehrere Notifications angezeigt. Doch wenn ich nun eine eine Notification klicke und den Wert test_data aus dem Intent auslese, steht da immer der selbe Wert drin, egal welche Notification ich angeklickt habe. (Es ist immer der Wert aus der zu erst angezeigten Notification)
Warum ist das so? Wie kann ich das so ändern, das ich weiß auf welche Notification geklickt wurde?
viel Dank im voraus!!
ich will folgendes machen: Es sollen mehrere Statusbar Notifications angezeigt werden. Beim Klick auf eine Notification soll eine Methode aufgerufen werden. Damit die Methode weiß welche Notification angeklickt wurde, will ich dem Event weitere Daten mitgeben.
Ich erzeuge die Notification auf folgende Weise:
Code:
Notification.Builder builder = new Notification.Builder(mContext);
builder.setContentInfo(text);
builder.setContentTitle(title);
Intent intent = new Intent(CLICK_ON_NOTI_ACTION);
intent.putExtra("test_daten", testDaten);
PendingIntent pi = PendingIntent.getBroadcast(mContext, 0, intent, 0);
builder.setContentIntent(pi);
Notification notification = builder.getNotification();
mNotificationManager.notify(currNotificationId, notification);
currNotificationId++;
Ich registriere einen BroadcastListener...
Code:
IntentFilter filter = new IntentFilter(CLICK_ON_NOTI_ACTION);
filter.addAction(ACTION_START_CONNECT_DIALOG);
mContext.registerReceiver(new NotiListener(), filter);
Code:
class NotiListener extends BroadcastReceiver
{
public void onReceive(Context context, Intent intent)
{
Log.i("TEST", intent.getExtras().getString("test_data"));
}
}
Warum ist das so? Wie kann ich das so ändern, das ich weiß auf welche Notification geklickt wurde?
viel Dank im voraus!!