Что это значит: «Нет активности Launcher!»

Я пишу простую программу 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! 

Solutions Collecting From Web of "Что это значит: «Нет активности Launcher!»"

Вот пример из 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> 

Множественные теги действий в одном теге фильтра-объекта также вызывают такую ​​же ошибку.

Как сказал Гусдор, выше: «Множественные теги действий в одном теге-фильтре намерения также вызывают ту же ошибку». (Дайте ему кредит! Я мог бы просто поцеловать Гусдора за это!)
Я не нашел никаких документов для этого факта! Я добавил новое (USB) действие и был умным, я сосредоточил его в одном и том же фильтре-намерении. И он сломал старт. Как сказал Гусдор, один замысловатый фильтр, одно действие! Очевидно, каждое действие должно проходить в своем собственном фильтре.
Это должно выглядеть так …

 <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 для запуска по умолчанию, когда приложение открывается из панели запуска. Вы должны добавить фильтр намерений в манифест для активности, который вы хотели бы использовать по умолчанию при запуске приложения.

Подробнее читайте 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> 

И я получаю желаемый результат на эмуляторе.

Как уже отмечалось, эта ошибка, скорее всего, вызвана отсутствующим или неправильным intent-filter .

Я хотел бы добавить, что эта ошибка также появляется, если вы задали android:exported="false" в своей активности запуска (в манифесте).

У меня была эта же проблема, и оказалось, что у меня вместо «/» в теге xml есть «\». Он по-прежнему выдавал ту же ошибку, но только из-за проблемы с синтаксисом.

Если вы используете стандартную среду разработки eclipse, предоставленную Google для разработки Android, вы можете установить флажок «Активность запуска» при создании нового действия. Пожалуйста, посмотрите ниже:

Введите описание изображения здесь

В Eclipse, когда это можно сделать:

Введите описание изображения здесь

Но предпочтительнее внести соответствующие изменения в файл манифеста Android.

Просто добавьте это в свой тег приложения в файл AndroidManifest.xml

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

А также отредактировать теги uses-sdk от android: targetSdkVersion = "16" до 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:

Раздел «Узлы приложений» должен выглядеть следующим образом:

MAIN определит первое действие, которое будет использоваться при запуске приложения. Launcher добавит приложение в панель приложений.

Если они у вас уже есть, и вы все еще получаете сообщение об ошибке, но возможно, потому что вы можете использовать больше или больше категорий или действий в фильтре-намерении. В целевом фильтре может быть только один такой тег. Чтобы добавить другую категорию, поместите ее в другой фильтр намерений, например следующий

  <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 в действие, которое вы хотите отобразить первым, поэтому он не знает, какую активность следует запускать при запуске приложения, поскольку это говорит системе, включая включение фильтра фильтра запуска в manifest.xml