Determine se a atividade é chamada por uma notificação

Estou usando umAtividade com váriosAbas nele. De uma parte diferente do aplicativo, as Notificações são criadas para informar ao usuário que algo foi alterado. Eu agora consegui chamar oAtividade, quando o usuário clica noNotificação. Mas como posso determinar seAtividade é criada a maneira "normal" durante o tempo de execução ou clicando na notificação?

(Dependendo da notificação clicada, eu quero encaminhar para outra guia em vez de mostrar a guia principal.)

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); 

Isso chama com sucesso minha MainActivity. Mas existe algum método que é chamado quando a atividade é acionada pelopendingIntent?

Pensei em definir algo assim noAtividade principal:

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

questionAnswers(3)

yourAnswerToTheQuestion