Definició de components
Una part important i imprescindible en cadascun dels manifestos és la definició dels components que formen l'aplicació (són dins de l'element XML <application>). Aquests components poden ser:
- <Activitat>, que correspon a una activitat.
- <Service>, per a definir un servei en segon pla.
- <Receiver>, per a definir un receptor d'esdeveniments.
- <Provider>, per a definir un proveïdor de continguts.
En qualsevol dels casos anteriors s'ha de definir el nom (android:name) que defineix el nom de la classe totalment qualificada.
Aquesta gairebé és l'única manera de definir un component de la nostra aplicació i, per tant, de fer que sigui utilitzable en el cicle de vida. Hi ha un cas en el qual no és necessari fer-ho així, que és en la creació dinàmica de receptors d'esdeveniments; llavors simplement es creen objectes BroadcastReceiver i es registren amb el mètode registerReceiver().
Com hem vist abans amb els intents, és possible invocar components explícitament (excepte els proveïdors de continguts), utilitzant una instància creada de la classe, o bé implícitament per mitjà del manifest. Això es fa per mitjà dels elements <intent-filter> del manifest, on es defineix:
- L'acció o accions a què està associat el component. Aquest camp és obligatori i defineix l'estructura de la resta del filtre. Aquí es defineix l'acció que volem, com pot ser ACTION_VIEW, ACTION_EDIT, ACTION_MAIN.
- La categoria. Serveix per a definir informació addicional sobre l'acció per executar.
- El tipus. Defineix el tipus MIME de les dades de l'intent.
- I alguns elements més no obligatoris.
En el cas de les activitats, un filtre molt normal és el de llançar l'aplicació; així, per exemple, podem tenir per a definir que la nostra aplicació es pot executar per mitjà del llançador el codi següent:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

