Android “这是什么意思?”;找不到启动程序活动&引用;

Android “这是什么意思?”;找不到启动程序活动&引用;,android,eclipse,Android,Eclipse,我正在写一个简单的Android程序,没有错误,我不知道它们是什么。我的程序是正确的,但没有显示输出。 我想是因为这两条线: [2005-01-06 19:56:38 - my_Android] No Launcher activity found! [2005-01-06 19:56:38 - my_Android] The launch will only sync the application package on the device! 这意味着您没有指定Android在从启动器打开

我正在写一个简单的Android程序,没有错误,我不知道它们是什么。我的程序是正确的,但没有显示输出。 我想是因为这两条线:

[2005-01-06 19:56:38 - my_Android] No Launcher activity found!
[2005-01-06 19:56:38 - my_Android] The launch will only sync the application package on the device!

这意味着您没有指定Android在从启动器打开应用程序时启动的默认活动。您必须在清单中为要在应用程序启动时充当默认值的活动添加一个意图过滤器


阅读了解更多详细信息。

应用程序启动时,您是否将活动设置为启动的活动

这是在Manifest.xml文件中完成的,类似于:

    <activity android:name=".Main" android:label="@string/app_name"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

检查manifest.xml。确保你有类别启动器在那里

<activity android:name=".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>

以下是AndroidManifest.xml中的一个示例。您需要在意图过滤器中为要在启动时启动的活动指定MAIN和LAUNCHER

<application android:label="@string/app_name" android:icon="@drawable/icon">
    <activity android:name="ExampleActivity"
              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>


我也遇到了同样的问题,结果我在xml标记中有一个“\”而不是“/”。它仍然给出了相同的错误,但只是由于语法问题。

我通过在应用程序标记中添加活动块修复了该问题。我使用向导创建了项目,我不知道为什么我的AdroidManifest.xml文件不包含应用程序块?我添加了应用程序块:



我在模拟器上得到了想要的输出

一个意图过滤器标签中的多个动作标签也会导致相同的错误。

就像Gusdor上面所说的,“一个意图过滤器标签中的多个动作标签也会导致相同的错误。”(给他点面子!我可以吻Gusdor一下!)
我没有找到任何关于这个事实的文件! 我添加了一个新的(USB)动作,而且很聪明,我把它集中在同一个意图过滤器中。它打破了发射。 就像Gusdor说的,一个意图过滤器,一个行动! 显然,每个操作都应该在其自己的意图过滤器中进行。
应该是这样的

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


当我这么做的时候,WAZOO!成功了

清单区分大小写,因此请比较此行是否存在任何大小写不匹配的情况,尤其是以下内容中的单词
MAIN

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

如前所述,此错误可能是由于缺少或不正确的
意图过滤器造成的


我想补充一点,如果您在启动程序活动(清单中)上设置了
android:exported=“false”
,也会出现此错误。

只需将其添加到AndroidManifest.xml文件中的应用程序标记中即可

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

还可以从android:targetSdkVersion=“16”到17编辑uses-sdk标记


您没有在清单文件中指定意图过滤器元素。清单文件是:

<application android:label="@string/app_name" android:icon="@drawable/icon">
    <activity android:name="Your Activity Name"
              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>


添加并正确检查此项。希望这会有所帮助。

如果您正在使用google为Android开发提供的标准eclipse IDE,您可以在创建新活动时选中“Launcher Activity”复选框。请参阅以下资料:


您可以在eclipse清单可视化编辑器中将启动器添加到活动中:


在Eclipse中,何时可以执行此操作:


但最好在Android清单文件中进行相应的更改。

MAIN将决定应用程序启动时使用的第一个活动。 启动器将在应用程序仪表板中添加应用程序

如果您已经有了它们,但仍然收到错误消息,但这可能是因为您可能在意图过滤器中使用了不止一个类别或操作。在意图过滤器中,只能有一个这样的标记。要添加另一个类别,请将其放入另一个意图过滤器中,如下所示

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

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

        <!--
             TODO - Add necessary intent filter information so that this
                Activity will accept Intents with the
                action "android.intent.action.VIEW" and with an "http"
                schemed URL
        -->
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <data android:scheme="http" />
            <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter>


您没有在要首先显示的活动中包含启动器意图筛选器,因此它不知道在应用程序启动时启动哪个活动,因此,通过在清单中包含启动器筛选器意图来告诉系统。xml

这些内容看起来总是完全一样的,它们不是应用程序中的类,它们是正在发生的行动。类似地,您可以在其他操作上触发活动。例如,“基本上”帮助Android决定如何处理活动。请参阅文档的“意图”部分,不要忘记将此属性的值
android:name=“ExampleActivity”
修改为适当的活动主类。这确实是我的问题。我一直在寻找这个问题。我收到了反对票。有人能确认此症状是否已修复吗?对我来说,它总是像一只虫子。
<application android:label="@string/app_name" android:icon="@drawable/icon">
    <activity android:name="Your Activity Name"
              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>
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

        <!--
             TODO - Add necessary intent filter information so that this
                Activity will accept Intents with the
                action "android.intent.action.VIEW" and with an "http"
                schemed URL
        -->
        <intent-filter>
            <action android:name="android.intent.action.VIEW" />
            <data android:scheme="http" />
            <category android:name="android.intent.category.BROWSABLE" />
        </intent-filter>