未在清单中查找库活动声明

时间:2013-10-17 14:41:37

标签: android android-manifest manifest library-project

我将一些项目作为名为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 个答案:

答案 0 :(得分:1)

在MainProject清单文件中注册您的库活动..

我在 intent-filter

中提供了操作名称

com.lib.Example ,以确定需要调用的Activity。

<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>

现在从MainProject中调用此Activity

Intent intent = new Intent("com.lib.Example");
try {
startActivity(intent);
} catch (ActivityNotFoundException e) {

}

希望这对你有帮助。