我正在编写一个简单的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!
Answers:
这是来自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>
android:name="ExampleActivity"
为适当的活动主类。
就像上面的Gusdor所说,“单个intent-filter标签中的多个action标签也将导致相同的错误。” (给他功劳!我可以为此亲吻Gusdor!)
我没有找到任何有关此事实的文档!我添加了一个新的(USB)操作,并且很聪明,我将其混入了相同的Intent过滤器中。它破坏了发射。就像古斯多(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!有效!
在应用程序启动时,您是否有一个活动设置为启动活动?
这在您的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>
这意味着您未指定从启动器打开应用程序时将Android的活动作为默认启动项。您必须在“清单”中为要作为启动应用程序时的默认活动的“活动”添加一个意图过滤器。
阅读http://developer.android.com/guide/topics/intents/intents-filters.html#ccases了解更多详细信息。
我通过在应用程序标记中添加活动阻止来解决此问题。我使用向导创建了项目,但我不知道为什么我的AdroidManifest.xml文件不包含应用程序块?我添加了应用程序块:
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".ToDoListActivity"
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标记中有一个'\'而不是'/'。它仍然给出相同的错误,只是由于语法问题。
只需将其添加到AndroidManifest.xml文件中的aplication标签即可
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
并从android:targetSdkVersion =“ 16”将uses-sdk标签编辑为17
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
您没有在清单文件中指定意图过滤器元素。清单文件是:
<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>
添加并正确检查。希望这会有所帮助..
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>