¿Cuál es el propósito de las categorías de intención?

¿Podría alguien por favor explicarme el propósito de las categorías de Intent ? ¿Cuándo debo hacer mi propio y así sucesivamente? Lo único que está escrito sobre las categorías de Intent en mi libro es que pueden agrupar las intenciones ?.

Solamente las categorías son inútiles, se usan para describir un posible objetivo para una "intención implícita" en un intent-filter .

Cuando se sabe qué clase / actividad desea iniciar y utilizar startActivity() o startActivityForResult() , se denomina "intención explícita".

He aquí una analogía de cómo funcionan las intenciones implícitas:

Imagina todas tus aplicaciones sentadas en una habitación grande y sin hacer nada. Entonces, otra aplicación, digamos Dropbox, necesita a alguien para abrir un archivo PDF. La aplicación Dropbox va al sistema y dice "Hey, alguien necesita abrir este archivo PDF …" (Esto es enviar la intención implícita).

El sistema ahora va a la habitación y grita "¿Cuál de ustedes puede mostrar un archivo PDF?". Las aplicaciones que pueden ponerse de pie y el sistema las ve (estas aplicaciones tienen una actividad con una categoría de intención coincidente).

A continuación, le ofrece un diálogo, en el que puede elegir una de las aplicaciones: Completa la acción usando


Si desea que algunos de sus Actividad / BroadcastReceivers / Services estén disponibles fuera de los límites de sus aplicaciones, puede usar el manifiesto de Android para declarar un "filtro de intenciones", por lo que se abrirá cuando el sistema o una aplicación inicie un "implícito Intención "que coincide.

Esto se hace (por ejemplo) para la Actividad que debe abrirse desde el lanzador:

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

Esto escucha la ACTION_MAIN ACTION_MAIN activada por Androids Launcher ( CATEGORY_LAUNCHER ).

Tienes dos elementos secundarios en tu "filtro de intenciones":

  1. La action . Esto especifica qué acción debe escuchar el "filtro de intención".
  2. Una o varias category . Esto especifica cómo debe llamarse la actividad.

Una de las category s puede ser (por ejemplo) android.intent.category.DEFAULT , que indica que la actividad se iniciará normalmente en modo de pantalla completa. Por ejemplo, la categoría android.intent.category.TAB declara esta actividad como una pestaña en una TabActivity , por lo que sólo se puede abrir como una pestaña.

Otro ejemplo sería agregar la categoría android.intent.category.PREFERENCE , que declararía la actividad como su Actividad de configuración.


No es posible ni necesario declarar su propia category .

Además, deberá comprender que estos eventos se activan con la aplicación de Sistema / Otra y sólo puede especificar si y cómo desea reaccionar cuando se activan.

  • Restlet en Android - Problemas con la serialización
  • Java.lang.Throwable: addInArray en RecyclerView
  • Android construir dibujo bug cashe
  • Cómo insertar programaticamente entradas de registro de llamadas con nombre de presentación y foto?
  • Cómo manejar dinámicamente matriz / objeto de respuesta json usando Gson
  • Error de vista web de Android "Señal fatal 5 (SIGTRAP)"
  • Diferencia entre la clase DataInputStream / DataOutputStream y la clase InputStream / OutputStream
  • Fragmentos Tipos incompatibles
  • Argumento del tipo de método genérico de Java
  • Eclipse libGDX no se puede ejecutar como aplicación Android
  • Obtener el elemento seleccionado de customadapter listview Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.