В чем смысл android.intent.action.MAIN?

Я видел много разных запутанных объяснений.

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

Каково значение

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

а также

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

а также

  <category android:name="android.intent.category.DEFAULT" /> 

Solutions Collecting From Web of "В чем смысл android.intent.action.MAIN?"

android.intent.action.MAIN означает, что это действие является точкой входа приложения, то есть при запуске приложения это действие создается.

Из документов

 ACTION_MAIN with category CATEGORY_HOME -- Launch the home screen. 

Кроме того, отсюда

Действие Действие Начните в качестве основной точки входа, не ожидайте получения данных.

Android.intent.category.DEFAULT в основном используется для неявных намерений. Если ваша деятельность хочет начать с неявного намерения, она должна включить эту статью в свой фильтр. Если ваша активность может быть запущена с помощью неявного намерения, когда ей не назначена какая-либо конкретная категория, в ее фильтр Intent должна быть включена эта категория.

android.intent.category.LAUNCHER

Category – Предоставляет дополнительную информацию о действии для выполнения.

CATEGORY_LAUNCHER означает, что он должен появиться в Launcher в качестве приложения верхнего уровня

См. Документы ..

  1. http://developer.android.com/reference/android/content/Intent.html
  2. http://developer.android.com/guide/topics/manifest/action-element.html

ACTION_MAIN считается точкой входа для приложения. Обычно он объединяется с CATEGORY_LAUNCHER в <intent-filter> чтобы указать активность, которая должна появляться в стартовой панели запуска, или во что-либо еще, что считает себя пусковой установкой. Такие «пусковые установки» могут запрашивать PackageManager , используя queryIntentActivities() , чтобы найти такие действия и отобразить их пользователю.

Однако ACTION_MAIN можно использовать в сочетании с другими категориями для других специализированных целей. Например, CATEGORY_CAR_DOCK с ACTION_MAIN указывает на активность, которая должна считаться кандидатом, который будет отображаться, когда пользователь опустит свой телефон в док-станцию, поставляемую изготовителем.

Когда Intent используется с startActivity() , если Intent уже не помещен в категорию, он помещается в CATEGORY_DEFAULT . Следовательно, для параметра <activity> <intent-filter> необходимо указать некоторую <category> , используя <category android:name="android.intent.category.DEFAULT" /> если ничего другого.