Sto costruendo il mio primo modulo libreria che sto pianificando di riempire con codice riutilizzabile per più progetti. Il mio primo roadblock è che devo essere in grado di avviare un'attività nell'app principale dal modulo della libreria.Avviare un'attività nell'app principale da un modulo Libreria Android
Ad esempio, ho un'attività splash screen. Funziona per 2 secondi, quindi avvia l'attività principale. Credo di poter riutilizzare questa attività dello splash screen e voglio inserirla nel mio modulo di libreria. Tuttavia, non sono sicuro di come avviare l'attività principale dalla libreria.
Mainfest nel setup applicazione principale:
<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>
Il manifesto lancia la schermata di avvio, che attualmente risiede nel mio modulo di libreria.
Poiché la libreria è una dipendenza dell'applicazione principale e non il contrario, non sono sicuro di come avviare il lancio di MainActivity
dal mio SplashScreenActivity
. Non è così facile come:
Intent i = new intent(this, MainActivity.class);
startActivity(i);
Per chiarimenti, sto rimuovendo SplashScreenActivity dal manifest di MODULE? Quindi creo un'attività splash screen nella mia app principale che estende SplashScreenActivity? Quindi inserisco tutti i dati di elaborazione che normalmente si verifichino nell'attività della schermata iniziale all'interno del metodo 'startMainActivity()'. Da lì, posso avviare la mia attività principale. modifica: e nel manifest del mio progetto principale, sostituisco SplashScreenActivity dal modulo con l'attività che ho appena creato nel mio progetto principale? –
Sì, è vero. Non dimenticare di invocare il metodo 'startMainActivity()' all'interno della tua base 'SplashScreenActivity' al momento in cui normalmente avvii la tua attività. –
Va bene, non era un modo così doloroso per realizzare questo. Ho provato questa soluzione e funziona! –