Modo de inicio “single top” de Android y método onNewIntent

Leí en la documentación de Android que al configurar la propiedad launchMode de mi Actividad en singleTop O agregando elFLAG_ACTIVITY_SINGLE_TOP Bandera a mi Intención, ese llamado.startActivity(intent) reutilizaría una única instancia de actividad y me daría la intención en elonNewIntent llamar de vuelta. Hice ambas cosas, yonNewIntent nunca dispara yonCreate dispara cada vez. Los doctores también dicen quethis.getIntent() devuelve la intención que se pasó primero a la Actividad cuando se creó por primera vez. EnonCreate estoy llamandogetIntent y estoy obteniendo uno nuevo cada vez (estoy creando el objeto de intento en otra actividad y le estoy agregando un extra ... este extra debería ser el mismo cada vez que me devuelva el mismo objeto de intento). Todo esto me lleva a creer que mi actividad no está actuando como una "parte superior única", y no entiendo por qué.

Para agregar algunos antecedentes en caso de que simplemente me esté faltando un paso, esta es mi declaración de actividad en el manifiesto y el código que estoy usando para iniciar la actividad. La Actividad en sí misma no hace nada que valga la pena mencionar al respecto:

en AndroidManifest.xml:

    <activity
        android:name=".ArtistActivity"
        android:label="Artist"
        android:launchMode="singleTop">
    </activity>     

en mi actividad de llamada:

        Intent i = new Intent();
        i.putExtra(EXTRA_KEY_ARTIST, id);
        i.setClass(this, ArtistActivity.class);
        i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
        startActivity(i);

Respuestas a la pregunta(3)

Su respuesta a la pregunta