Voglio iniziare una nuova intenzione in modo dinamico. Pertanto setClassName
sembra la scelta migliore.Impossibile avviare un nuovo intent da setClassName con diverso pacchetto in Android
In primo luogo, definire 3 attività nel manifesto
<activity android:name="com.example.pkg2.Act" />
<activity android:name="com.example.pkg1.Act1" />
<activity android:name="com.example.pkg1.Act2" />
Da com.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 otterrà questa eccezione:
Unable to find explicit activity class {com.example.pkg2.Act/com.example.pkg1.Act1}; have you declared this activity in your AndroidManifest.xml?
Sembra che siamo in grado di utilizzare solo setClassName
per avviare dinamicamente una nuova attività ma all'interno dello stesso pacchetto.
Qualche idea per risolvere questo problema? Tutto l'aiuto è apprezzato.
' ' cambiamento Act1 per ACT2 si è dichiarato Act1 due volte? –
Grazie a @imrankhan È colpa mia quando si copia-incolla: p – anticafe
ok, guarda la mia risposta aggiornata. –