Bestimmen Sie, ob Activity durch eine Benachrichtigung aufgerufen wird

Ich benutze eineAktivität mit verschiedenenTabs darauf. Aus einem anderen Teil der Anwendung werden Benachrichtigungen erstellt, um dem Benutzer mitzuteilen, dass sich etwas geändert hat. Ich habe es jetzt geschafft das anzurufenAktivität, wenn der Benutzer auf das Symbol klicktBenachrichtigung. Aber wie kann ich feststellen, ob aAktivität wird der "normale" weg zur laufzeit erstellt oder durch klick auf die benachrichtigung?

(Abhängig von der angeklickten Benachrichtigung möchte ich auf eine andere Registerkarte weiterleiten, anstatt die Hauptregisterkarte anzuzeigen.)

Intent intent = new Intent(ctx, MainActivity.class);
        PendingIntent pendingIntent = PendingIntent.getActivity(ctx, 0, intent, 0);

        // TODO: Replace with .Build() for api >= 16
        Notification noti = new Notification.Builder(ctx)
                .setContentTitle("Notification"
                .setContentText(this.getName())
                .setSmallIcon(R.drawable.icon)
                .setContentIntent(pendingIntent)
                .setDefaults(
                        Notification.DEFAULT_SOUND
                                | Notification.DEFAULT_LIGHTS)
                .setAutoCancel(true)
                .getNotification();

        NotificationManager notificationManager = (NotificationManager) ctx
                .getSystemService(Context.NOTIFICATION_SERVICE);

        // Hide the notification after its selected
        notificationManager.notify(this.getId(), noti); 

Dies ruft meine MainActivity erfolgreich auf. Aber gibt es eine Methode, die aufgerufen wird, wenn die Aktivität von der ausgelöst wird?pendingIntent?

Dachte darüber nach, so etwas in der zu definierenHauptaktivität:

onTriggeredByNotification(Notification noti){
     //determinte tab, depending on Notification.
}

Antworten auf die Frage(3)

Ihre Antwort auf die Frage