android.Inhalt.ActivityNotFoundException: Unable to find explizite Aktivität Klasse {}; haben Sie erklärt, diese Aktivität in Ihre AndroidManifest.xml?
Dies ist das Szenario: ich habe 2 diferent Paket in der gleichen proyect.
Wenn ich versuche zu starten vía Absicht ActivityB (das ist in com.stabil.app.in) von Paket com.stabil.app-ActivityA, ich bekomme diese Fehlermeldung. Mein Manifest ist OK denke ich, aber scheint falsch zu sein. Mein Manifest ist:
<activity android:name=".in.Principal">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Und mein code ist:
final Intent intent = new Intent();
intent.setClassName("com.stable.app.in", "com.stable.app.in.Principal");
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
startActivity(intent);
Ich habe versucht, eine Menge Anregungen, schien in den anderen Themen. Diese sind:
Geben, sich zu Manifestieren, die ganze route des Pakets.
versuchen Ausschneiden MAIN, LAUNCHER, etc.
viel mehr.
Wenn Euch das gleiche problem gehabt, oder eine potencional Lösung, dont zögern zu reagieren!
ändern Sie Ihre manifest-Paket namens "com.stabil.app".
Ihre Aktivität ist unter com.stabil.app-Paket und Aktivität B ist unter com.stabil.app.in Paket ist.Recht????
Ihre korrekte, bereits die Lösung gefunden zu haben, kommentiert Balg, danke!
Ihre Aktivität ist unter com.stabil.app-Paket und Aktivität B ist unter com.stabil.app.in Paket ist.Recht????
Ihre korrekte, bereits die Lösung gefunden zu haben, kommentiert Balg, danke!
InformationsquelleAutor BackToBasics | 2012-07-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Machen Sie dies ein bisschen zu kompliziert. Wenn Sie möchten, starten Sie eine andere Tätigkeit in Ihrem Projekt verwenden, können Sie den folgenden Codeausschnitt:
Dies ist der Weg kürzer und viel m EHR wichtig, Sie nicht verwenden die Aktivität Namen als strings. Auf diese Weise, wenn Sie umgestalten der activity-Klasse Namen in der IDE, es kann auch den code ändern. Bei der Verwendung der string-Namen, die meisten IDEs nicht ändern.
Außerdem müssen Sie sicherstellen, dass Sie erklären, die Aktivität richtig in Ihre Manifest-Datei. Sie nicht brauchen, um die Verwendung der vollständigen Klassennamen, aber wenn Sie
.in.Principal
sicherstellen, dass das Paket von Ihrer Manifest-Datei istcom.stable.app
.Vielen Dank an alle, Tim Roes, du hattest Recht, ich hatte zu ändern, string-Namen: final Intent intent = new Intent(getApplicationContext(),Principal.class); auch Import com.stabil.app.in.AUFTRAGGEBER immer Noch verstehen, warum doesnt es funktioniert wie "strings": Absicht.setClassName("com.stabil.app.in", "com.stabil.app.in.Principal");
*Immer noch nicht verstehen
Sollten Sie den entfernt
setAction()
undsetCategory()
nennen. Diejenigen, die Sie übergeben, mit der Absicht, die verwendet werden, für die Absicht, das verwendet wird, indem Sie den Startbildschirm, um die Anwendung zu starten. So sollten Sie nicht verwenden Sie für die interne Aktivität Umschalten. (Immer noch, wenn Sie Ihre manifest-Datei korrekt war, sollte er arbeitete auch mit Ihnen.)nach dem Versuch, so viele Dinge, final Intent intent = new Intent(getApplicationContext(),Principal.class); gearbeitet. Dank user1427871
InformationsquelleAutor Tim Roes
InformationsquelleAutor Harish