Ich baue mein erstes Bibliotheksmodul, das ich mit wiederverwendbarem Code für mehrere Projekte füllen möchte. Mein erster Roadblock ist, dass ich in der Haupt-App eine Aktivität aus dem Bibliotheksmodul starten kann.Starten einer Aktivität in der Haupt-App von einem Android-Bibliotheksmodul
Zum Beispiel habe ich eine Splash-Screen-Aktivität. Es läuft für 2 Sekunden und startet dann die Hauptaktivität. Ich glaube, dass ich diese Splash Screen-Aktivität wiederverwenden kann, und ich möchte es in meinem Bibliotheksmodul einfügen. Ich bin mir jedoch nicht sicher, wie ich die Hauptaktivität aus der Bibliothek starten soll.
Mainfest in Haupt-App-Setup:
<activity
android:name="com.example.myLibraryModule.SplashScreen"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Das Manifest startet den Splash-Screen, die zur Zeit in meinem Bibliothek-Modul befindet.
Da die Bibliothek eine Abhängigkeit von der Hauptanwendung ist und nicht umgekehrt, bin ich mir nicht sicher, wie ich die MainActivity
von meinem SplashScreenActivity
starten soll. Es ist nicht so einfach wie:
Intent i = new intent(this, MainActivity.class);
startActivity(i);
Zur Klarstellung, ich entferne die SplashScreenActivity von meinem MODUL Manifest? Dann erstelle ich eine Splash-Screen-Aktivität in meiner Haupt-App, die SplashScreenActivity erweitert? Dann gebe ich alle Verarbeitungsdaten ein, die normalerweise in der Startbildschirmaktivität innerhalb dieser 'startMainActivity()' Methode stattfinden würden. Von dort kann ich meine Haupttätigkeit beginnen. edit: und im Manifest meines Hauptprojekts ersetze ich die SplashScreenActivity aus dem Modul durch die Aktivität, die ich gerade in meinem Hauptprojekt erstellt habe? –
Ja, das stimmt. Vergessen Sie nicht, die Methode 'startMainActivity()' innerhalb Ihrer Basis 'SplashScreenActivity' zu einem Zeitpunkt aufzurufen, an dem Sie normalerweise Ihre Aktivität starten würden. –
In Ordnung, das war kein so schmerzhafter Weg, dies zu erreichen. Ich habe diese Lösung getestet und es funktioniert! –