Не найдены декларации о деятельности библиотеки в манифесте
У меня есть какой-то проект в виде библиотеки с именем LibProj
, В нем много мероприятий, которые я хочу использовать в MainProj
проект, но я получаю сообщение об активности не найдено.
Я сделал эти шаги.
один из них показан ниже.
Intent intent = new Intent(android.content.Intent.ACTION_VIEW);
intent.setComponent(new ComponentName("packagename//ex-com.hello",
"classname//ex-com.hello.ExampleActivity"));
startActivity(intent);
Второй заключается в том, чтобы добавить декларации о всех видах деятельности в MainProj
проект.
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.doocat.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".activity.main.IntroActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
</activity>
<activity
android:name=".activity.main.LoginActivity"
android:screenOrientation="portrait"
android:label="@string/app_name" />
<activity
так далее...
Оба эти способа не работают. Что я делаю не так или каково решение?
1 ответ
Решение
Зарегистрируйте вашу библиотечную активность в файле манифеста MainProject.
Я дал название действия в интент-фильтре
com.lib.Example для определения того, какую активность нужно вызвать.
<activity
android:name="YOUR_LIBRARY_ACTIVITY_PACKAGE. ExampleActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="com.lib.Example" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
Теперь вызовите эту активность из вашего основного проекта.
Intent intent = new Intent("com.lib.Example");
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {
}
Надеюсь, это поможет вам.