尽管在manifest.xml中声明,但未找到Launcher活动

时间:2012-02-13 10:58:54

标签: android android-activity manifest

在我的应用程序中,我在manifest.xml文件中定义了主要活动,如下所示:

<activity
            android:name=".MainActivity"
            android:label="@string/guide_activity" >
            <intent-filter>
                <category android:name="android.intent.category.LAUNCHER" />
                <action android:name="android.intent.action.MAIN" />

                <action android:name="android.intent.action.SEARCH" />
            </intent-filter>
            <meta-data android:name="android.app.searchable"
                   android:resource="@xml/searchable"/>
        </activity>

当我从连接到真实设备或模拟器的eclipse运行项目时,我在控制台中收到以下消息: 未找到启动器活动

这可能是什么原因?

1 个答案:

答案 0 :(得分:15)

将intent-filter拆分为两个单独的过滤器。如果你像这样混合它们,android将不会确定两者中的一个是启动器过滤器。

<activity
    android:name=".MainActivity"
    android:label="@string/guide_activity" >

        <intent-filter>
            <category android:name="android.intent.category.LAUNCHER" />
            <action android:name="android.intent.action.MAIN" />
        </intent-filter>

        <intent-filter>
            <action android:name="android.intent.action.SEARCH" />
        </intent-filter>

        <meta-data android:name="android.app.searchable"
               android:resource="@xml/searchable"/>
</activity>