¿Cuál es el propósito de usar android.intent.category.DEFAULT
en el campo Categoría de los filtros de intención?
android
intentfilter
Pravy
fuente
fuente
Respuestas:
Las categorías se utilizan para Intents implícitos. Por lo tanto, si su actividad puede iniciarse mediante un intento implícito cuando no se asigna ninguna otra categoría específica a la actividad, el filtro de intención de la actividad debe incluir esta categoría. (incluso si tiene otras categorías en el filtro Intención). Si está seguro de que su actividad debe llamarse con cualquier otra categoría, no use el valor predeterminado.
Establecer la categoría como predeterminada no significa que esta actividad se utilizará de forma predeterminada cuando se inicie la aplicación. La actividad simplemente le dice al sistema que " ¡Oh, podría comenzar, incluso si la categoría de intención inicial está configurada en Nada en absoluto! "
fuente
Esta categoría se utiliza principalmente para intenciones implícitas. Si su actividad desea iniciarse con una intención implícita, debe incluir esta categoría en su filtro.
Creo que el término "predeterminado" debe entenderse como " candidato predeterminado ". Si la acción en un fragmento de datos se resuelve en múltiples actividades, entonces Android presentará todos los candidatos al usuario y el usuario puede seleccionar su predeterminado preferido.
Referencia:
http://developer.android.com/guide/components/intents-filters.html
Extracto de esa página:
fuente
En realidad, es para asegurarse de que sus otras actividades se puedan llamar cuando la aplicación se esté ejecutando. LAUNCHER hará que la actividad que la tenga sea la primera actividad que se inicie. Para utilizar las intenciones para llegar a las otras actividades, deben aparecer como actividades "reales" poniendo DEFAULT. Eso es por lo que sé, así que no me cites si está mal.
fuente
Las actividades deberán admitir CATEGORY_DEFAULT para que Context.startActivity () pueda encontrarlas.
Para recibir intents implícitos, debes incluir la categoría CATEGORY_DEFAULT en el filtro de intents. Los métodos startActivity () y startActivityForResult () tratan todos los intents como si declararan la categoría CATEGORY_DEFAULT. Si no lo declaramos en nuestro filtro de intenciones, ninguna intención implícita se resolverá en nuestra actividad.
fuente
Se utiliza para declarar alguna operación como acción predeterminada (como sugiere su nombre). Consideremos que tenemos una aplicación de bloc de notas (en referencia a la muestra de bloc de notas de Android). La primera página de la aplicación consta de una lista de todos los archivos del bloc de notas. Cuando se selecciona un archivo de bloc de notas, se puede realizar una de las operaciones como editar nota, eliminar nota, etc. Pero quiero hacer que editar sea mi acción predeterminada, lo que significa que cuando presiono el botón central de mi teclado, la ventana de edición debe estar abierta.
fuente
https://developer.android.com/guide/components/intents-filters
fuente
categoría:
Coincide con cualquier Intent implícito. Esta categoría debe incluirse para que su Actividad reciba cualquier Intención implícita.
https://codelabs.developers.google.com/codelabs/android-training-activity-with-implicit-intent/index.html?index=..%2F..%2Fandroid-training#6
fuente