这是什么意思“找不到启动器活动!”
我正在编写一个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!
这里是AndroidManifest.xml的一个例子。 您需要在intentfilter中指定要在启动时启动的活动的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>
单个意图filter标签中的多个行为标签也会导致相同的错误。
就像上面所说的Gusdor一样,“单个意图filter标签中的多个动作标签也会导致相同的错误。” (给他信用!我可以亲吻Gusdor!)
我没有find任何文件这个事实! 我添加了一个新的(USB)动作,并且很聪明,我把它放在同一个意图filter中。 它打破了发射。 就像Gusdor说的那样,一个意图filter,一个动作! 显然每个行动都应该在自己的意图filter。
它应该看起来像这样…
<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>
检查你的manifest.xml。 确保你有类别LAUNCHER那里。
<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>
这意味着当应用程序从启动器打开时,您并未指定Android作为默认启动。 您必须在“清单”的“清单”中添加“意图filter”,以便在应用程序启动时用作默认行为。
阅读http://developer.android.com/guide/topics/intents/intents-filters.html#ccases了解更多详情。;
我通过在应用程序标签中添加活动块来解决问题。 我使用向导创build了项目,我不知道为什么我的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>
我在仿真器上获得所需的输出。
正如已经指出的,这个错误很可能是由于缺less或不正确的intent-filter
。
我只想补充一点,如果在启动器活动(在清单中)设置了android:exported="false"
,这个错误也会显示出来。
我有这个相同的问题,事实certificate我有一个'\'而不是在xml标签中的'/'。 它仍然给出了相同的错误,但只是由于语法问题。
如果您正在使用由Google for Android开发提供的标准eclipse IDE,则可以在创build新的Activity时检查“Launcher Activity”checkbox。 如下请见:
在Eclipse中可以这样做的时候:
但是最好在Android清单文件里面做相应的修改。
只需将其添加到AndroidManifest.xml文件中的应用标签即可
<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
在:
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
您可以在eclipse manifest可视化编辑器中添加启动器到活动中:
MAIN将决定应用程序启动时使用的第一个活动。 启动器将在应用程序仪表板中添加应用程序。
如果您已经拥有它们,并且仍然收到错误消息,但也许是因为您可能在意图filter中使用了更多类别或操作。 在意图filter中只能有一个这样的标签。 要添加另一个类别,请将其放在另一个意图filter中,如下所示
<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>
您尚未在首先出现的活动中包含Launcher意图filter,因此它不知道在启动应用程序时要启动哪个活动,因为这通过在manifest.xml中包含启动器filter意图来告诉系统