Actividad de lanzamiento de Android varias veces en una etiqueta NFC

Mi aplicación de Android tiene 2 actividades, una principal para información y otra para recibir NFC.

Al iniciar la aplicación por primera vez, puedo leer las etiquetas NFC varias veces, cada vez que muestro una nueva actividad y muestro cierta información.

Si la aplicación está cerrada pero el teléfono llega a la etiqueta NFC, mostrará la actividad de la etiqueta nfc la primera vez, pero nunca responderá a ninguna otra etiqueta nuevamente.

¡¿Qué estoy haciendo mal?!

Parte del manifiesto y código para la segunda actividad:

<uses-sdk android:minSdkVersion="10" />
<uses-permission android:name="android.permission.NFC" />
<uses-feature android:name="android.hardware.nfc" android:required="true" />

<application
android:icon="@drawable/aaa"
android:label="@string/app_name" 
    android:theme="@android:style/Theme.NoTitleBar">

<activity
    android:label="@string/app_name"
    android:name=".MainActivity">
    <intent-filter >
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

<activity 
    android:name=".TagDiscoveredActivity"
    android:screenOrientation="portrait">
    <intent-filter >
        <action android:name="android.nfc.action.TECH_DISCOVERED" />
        <action android:name="android.nfc.action.TAG_DISCOVERED" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
    <meta-data
        android:name="android.nfc.action.TECH_DISCOVERED"
        android:resource="@xml/filter_nfc" />
</activity>
</application>

</manifest>    

El código

public class TagDiscoveredActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.info);
        etc
    }

@Override
public void onNewIntent(Intent intent) {
    setIntent(intent);
    resolveIntent(intent);
}

private void resolveIntent(Intent intent) {
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            //| Intent.FLAG_ACTIVITY_SINGLE_TOP);        

    boolean handled = false;

    // Parse the intent
    final String action = intent.getAction();
    if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(action) ||
                NfcAdapter.ACTION_TAG_DISCOVERED.equals(action)) {

        // When a tag is discovered we send it to the service to be save. We
        // include a PendingIntent for the service to call back onto. This
        // will cause this activity to be restarted with onNewIntent(). At
        // that time we read it from the database and view it.
        Parcelable nfctag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
        if (nfctag != null) {
                        //read tag and display here
                    }
                }
            }

    if (!handled) {
        Log.e(logTag, "Unknown intent " + intent);
        finish();
        return;
    }
}

Cuando lo ejecuto y me registro para el segundo escenario, iniciando directamente desde NFC sin que la aplicación se ejecute, el registro muestra que funciona por primera vez, pero la segunda vez, ninguna de las funciones está registrando nada.

Gracias por cualquier sugerencia útil

Respuestas a la pregunta(2)

Su respuesta a la pregunta