Não é possível iniciar o novo Intent por setClassName com pacote diferente no Android

Quero iniciar um novo Intent dinamicamente. PortantosetClassName parece a melhor escolha.

Primeiro, eu defino 3 atividades no Manifest

<activity android:name="com.example.pkg2.Act" />
<activity android:name="com.example.pkg1.Act1" />
<activity android:name="com.example.pkg1.Act2" />

A partir decom.example.pkg2.Act:

Intent intent = new Intent();
if(index == 0) intent.setClassName(Act.this, "com.example.pkg1.Act1");
else intent.setClassName(Act.this, "com.example.pkg1.Act2");
startActivity(intent);

E receberá esta exceção:

Unable to find explicit activity class {com.example.pkg2.Act/com.example.pkg1.Act1}; have you declared this activity in your AndroidManifest.xml?

Parece que só podemos usarsetClassName para iniciar dinamicamente nova Atividade, mas dentro do mesmo pacot

Alguma idéia para resolver esse problema? Toda a ajuda é apreciad

questionAnswers(16)

yourAnswerToTheQuestion