Я создаю свой первый библиотечный модуль, который я планирую заполнять многоразовым кодом для нескольких проектов. Мой первый roadblock заключается в том, что мне нужно иметь возможность запускать активность в основном приложении из библиотечного модуля.Запуск активности в основном приложении из модуля библиотеки Android
Например, у меня есть активность заставки. Он работает в течение 2 секунд, затем запускает основное действие. Я считаю, что я могу повторно использовать эту активность заставки, и я хочу поместить ее в свой библиотечный модуль. Однако я не уверен, как запустить основную деятельность из библиотеки.
MainFest в основной настройке приложения:
<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>
манифеста запускает заставку, которая в настоящее время находится в моем модуле библиотеки.
Поскольку библиотека является зависимой от основного приложения, а не наоборот, я не уверен, как начать запуск MainActivity
из моего SplashScreenActivity
. Это не так просто, как:
Intent i = new intent(this, MainActivity.class);
startActivity(i);
Для выяснения причин, я удаляю SplashScreenActivity из манифеста модуля MODULE? Затем я создаю активность заставки в основном приложении, которое расширяет SplashScreenActivity? Затем я помещаю все данные обработки, которые обычно выполняются в активности заставки в этом методе 'startMainActivity(). Оттуда я могу начать свою основную деятельность. edit: и в манифесте моего основного проекта я заменяю SplashScreenActivity из модуля активностью, которую я только что создал в своем основном проекте? –
Да, это так. Не забудьте вызывать метод 'startMainActivity()' внутри вашей базы 'SplashScreenActivity' в тот момент, когда вы обычно начинаете свою деятельность. –
Хорошо, это был не такой болезненный способ добиться этого. Я тестировал это решение, и оно работает! –