¿Qué significa "categoría" en el manifiesto?
La documentación indica que puede especificar una categoría personalizada.
- ¿Cuándo, por qué y cómo lo haría?
- ¿Cuál sería el uso de ella?
En la forma en que lo entiendo, las categorías son directivas públicas para el sistema operativo android (y otras aplicaciones) que representan diferentes categorías de las que debe formar parte su aplicación.
Ejemplo
- Cuando se pulsa el icono del lanzador en la pantalla de inicio, la aplicación de inicio examina el manifiesto de la aplicación instalada para la categoría
HOME
y, si es así, la muestra en el cajón de la aplicación.
Sin embargo, hay más. Puede especificar categorías en el manifiesto de aplicaciones que permite al sistema saber que la aplicación puede manejar la categoría de intención. Por ejemplo, al poner una categoría ALTERNATIVE
, otras aplicaciones del sistema saben que su aplicación puede manejar esa categoría sin conocer específicamente el nombre de la acción. En el ejemplo siguiente, las categorías de intenciones personalizadas se pasan a través de esta intención, que se filtra y se edita el objeto correspondiente (tomado de la aplicación de ejemplo de Notes):
<intent-filter android:label="@string/resolve_title"> <action android:name="com.android.notepad.action.EDIT_TITLE" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.ALTERNATIVE" /> <category android:name="android.intent.category.SELECTED_ALTERNATIVE" /> <data android:mimeType="vnd.android.cursor.item/vnd.google.note" /> </intent-filter>
Al registrar este filtro de intenciones en una etiqueta <activity />
, puede editar una "nota". Los datos de intención contendrían la nota, y la intención sería enrutada a la actividad en la que este filtro está registrado.
En conclusión:
Realmente no hay una razón para usar una categoría personalizada. Son para Android, y por lo tanto no tienen sentido en el uso de la aplicación. Pero, si elige utilizarlos, pueden utilizarse en los métodos descritos anteriormente. "Proporcionan algunas reglas semánticas específicas, y si esas reglas son útiles para usted entonces siéntase libre de usarlas" (Hackbod).
http://developer.android.com/guide/topics/intents/intents-filters.html
Desplácese hacia abajo un poco y debería ver una sección bajo "Objetos de intención"
Básicamente describen ciertas propiedades especiales de una actividad. Por ejemplo, añadir
<category android:name="android.intent.category.HOME" />
Significa que la aplicación se puede iniciar en el inicio del teléfono
Cuando no desee utilizar la categoría predeterminada, utilice la categoría personalizada. Las categorías personalizadas deben utilizar el nombre del paquete como prefijo para asegurarse de que son únicas. Alguna información se proporciona en el siguiente enlace:
http://developer.android.com/guide/topics/manifest/category-element.html Compruebe el acoplamiento abajo tiene algo la misma pregunta:
Categorías personalizadas de Android
Yo soy un poco un noob a Android todavía, aunque tengo experiencia de programación de lo contrario .. Dice una categoría personalizada in your own namespace
. Supongo que si usted está programando varias aplicaciones y desea que una aplicación ejecute otra aplicación, podría utilizar una categoría personalizada para su intención de forzar el teléfono para encontrar su otra aplicación para capturar la intención con?