此错误"未找到默认活动"

时间:2018-02-07 08:28:04

标签: android android-studio

我是android studio的新手, 即使查看其他帖子,我也无法弄清楚如何阻止此错误。我不明白如何在清单中添加活动。这是我的清单:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.drpg.dungeonkeys"
    android:versionCode="4"
    android:versionName="Beta.4.44" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="19" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <service android:name=".DungeonKey"
            android:label="@string/dungeon_key"
            android:permission="android.permission.BIND_INPUT_METHOD"
            >
            <meta-data android:name="android.view.im" android:resource="@xml/method"/>
            <intent-filter>
                <action android:name="android.view.InputMethod" />
            </intent-filter>            
        </service>

    </application>

</manifest>

5 个答案:

答案 0 :(得分:1)

你的清单需要看起来像这样:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="[YOUR_PACKAGE]">

    <!-- Differents permissions you need -->

    <application
    ... >
        <!-- Here default activity -->
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

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

        <!-- Other activity declarations -->
        <activity
            android:name=".OtherActivity" />

        <!-- If you have some services, write them here -->
        <service
            android:name=".MyService"
            android:exported="false"/>
    </application>
</manifest>

答案 1 :(得分:0)

您的清单文件中没有<activity>标记。

最简单的版本是:

<activity
     android:name="com.drpg.dungeonkeys.ActivityName"
     android:label="@string/app_name" />

查看此官方教程: https://developer.android.com/training/basics/firstapp/creating-project.html

您可以在此处获得有关<activity>代码的详细信息:https://developer.android.com/guide/topics/manifest/activity-element.html

答案 2 :(得分:0)

如果查看应用清单的android documentation页面,您会发现需要在那里声明所有活动。以下代码直接来自该页面,我删除了一些代码以缩短答案。

<manifest>

    <application>

        <activity
            android:name="com.example.MyActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

    </application>

</manifest>

答案 3 :(得分:0)

在Manifest文件中添加活动的多种方法。

意图过滤器不是所有活动的必要标记,它是可选的。

在清单中的应用程序标记中添加活动:

<!-- Main Activity-->
    <activity android:name="YourActivityName" >
        <intent-filter>
      <!-- MAIN represents that it is the Main Activity-->
            <action android:name="android.intent.action.MAIN" />
      <!-- Launcher Denotes that it will be the first launching activity-->
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
 <!--Add Other activities like this-->
    <activity android:name="YourActivityName2" >
 <!--Default Intent Filter-->
        <intent-filter>
            <action android:name="android.intent.action.DEFAULT" />
        </intent-filter>
    </activity>
 <!--OR Other activities like this And  intent filter is not necessary in other activites-->
    <activity android:name="YourActivityName3" >
    </activity>
 <!--OR Add Other activities like this-->
    <activity android:name="YourActivityName4" />

答案 4 :(得分:0)

您忘记向您的清单声明启动器活动

<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN"/>

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

将您的活动声明为您想先启动的启动器。