¿Qué son los filtros de intención en Android?

En mi aplicación de Android, quería comenzar una actividad 'B' desde la actividad inicial 'A'. He creado clases para ambos. Sin embargo, cuando uso el siguiente código para iniciar B, aparece un error de tiempo de ejecución:application has stopped unexpectedly, try again. Aquí está mi código:

Intent myIntent = new Intent(this, AddNewActivity.class);
startActivity(myIntent); 

Cuando agregué una nueva entrada enAndroidManifest.xml/manifest/application/activity/intent-filers para la actividad B, entonces la aplicación funcionó.

Tengo dos preguntas:

Cuando hay múltiples entradas de actividades enAndroidManifest.xml, ¿cómo sabe Android qué actividad comenzar primero?No pude entender los filtros intencionales. ¿Alguien puede explicar?

Aquí está mi parcialAndroidManifest.xml

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".ListAllActivity"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".AddNewActivity" android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

Respuestas a la pregunta(9)

Su respuesta a la pregunta