Не найдены декларации о деятельности библиотеки в манифесте

У меня есть какой-то проект в виде библиотеки с именем 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) {

}

Надеюсь, это поможет вам.

Другие вопросы по тегам