Activité ouverte sur firebase notification reçue en premier plan

Quand mon application est ouverte et je reçois une notification je veux être en mesure d'ouvrir l'activité associée immédiatement sans avoir besoin de l'utilisateur de taper sur la notification.

Cette question est très similaire: Ouvrez l'app sur firebase notification reçue (FCM)

Mais il ouvre l'application quand elle est en arrière plan, j'ai besoin de le faire lorsque mon application est au premier plan.

De la firebase documentation:

Les Notifications envoyées lorsque votre application est en arrière-plan. Dans ce
cas, l'avis est transmis à l'appareil de la barre d'état système. Un
utilisateur d'appuyer sur une notification s'ouvre l'app launcher par défaut. Messages
avec de notification et de données de charge utile, à la fois de fond et de
le premier plan. Dans ce cas, la notification est livré à l'
dispositif de la barre d'état système, et les données de charge utile est livré dans les extras
de l'intention de votre lanceur d'Activité.

C'est mon implmentation de onMessageReceived

@Override
    public void onMessageReceived(RemoteMessage remoteMessage) {

       //Check if message contains a data payload.
        if (remoteMessage.getData().size() > 0) {
            Log.d(TAG, "Message data payload: " + remoteMessage.getData());
        }

        //Check if message contains a notification payload.
        if (remoteMessage.getNotification() != null) {
            Log.d(TAG, "Message Notification Body: " + remoteMessage.getNotification().getBody());
            sendNotification( remoteMessage);              
        }     
    }

    /**
     * Create and show a simple notification containing the received FCM message.
     *
     * @param remoteMessage FCM message message received.
     */
    private void sendNotification(RemoteMessage remoteMessage) {
        Intent intent = new Intent(this, MyActivity.class);

        Map<String, String> hmap ;
        hmap = remoteMessage.getData();
        hmap.get("data_info");
        intent.putExtra("data_info", hmap.get("data_info"));
        intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);


        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0 /* Request code */, intent,
                PendingIntent.FLAG_ONE_SHOT);

    }

Je suis en mesure d'obtenir la notification correctement, mais l'activité ne commence qu'une fois que j'appuyez sur la notification sur la barre d'état système.

Est-il un moyen de démarrer l'activité sans toucher la notification de tout premier plan?

La méthode onMessageReceived() de la classe MyFirebaseMessagingService que extends FirebaseMessagingService est appelé correctement alors que dans le premier plan, mais l'activité n'est pas mise en route. J'ai aussi essayé avec le drapeau FLAG_ACTIVITY_NEW_TASK aussi avec pas de chance. Merci à l'avance.

OriginalL'auteur bankode | 2016-09-06