¿Cómo asignar una aplicación a un evento?

Me gustaría usar etiquetas NFC con NFC Task Launcher o AutomateIt , pero cada vez que escaneo la etiqueta aparece una ventana emergente que me pide que use la aplicación (tengo algunas relacionadas con NFC). Tengo un Samsung Galaxy S3 y un Galaxy Notes 2. No hay una opción de "usar siempre esta aplicación" (similar a las que tenía al hacer clic en un enlace por primera vez, que apareció en un panel de aplicaciones con la opción de " esta vez solamente" o "siempre").

¿Hay alguna forma de forzar la asignación de una aplicación a un evento?

¡Gracias!

Si no lo hay, y su dispositivo está rooteado, puede buscar en la tienda de juegos "AutoRun Manager". Instálelo y deshabilite los oyentes correspondientes de las aplicaciones que no deberían responder. No es una solución realmente limpia (y solo durará hasta que una de esas aplicaciones reciba una actualización, o instale otra aplicación NFC, en cuyo caso debe repetir este paso para la aplicación afectada), pero debería hacer el trabajo: solo un solo receptor = Sin ventana emergente :)
@Izzy: gracias (desafortunadamente mi teléfono no está rooteado). Si entiendo correctamente, las aplicaciones se registran como "controladores de eventos" y no hay forma de editar esto (de manera similar a como se hace en Windows o Linux). La idea es que editaría una vez el gancho para el evento "Lectura de etiqueta NCF", en el peor de los casos hasta que se instale una nueva aplicación (que podría estar bien para los eventos para los que tiene aplicaciones apropiadas y que no necesita redefinir regularmente) )
Podrías llamarlo así. Lo que registran se llama "oyente", y el sistema envía una "transmisión" a todos los oyentes registrados, pero el principio es el mismo. Lo que podría hacer si ninguna de las aplicaciones relacionadas son aplicaciones del sistema es usar una herramienta para reconstruir los .apkarchivos con esos oyentes eliminados. Pero eso puede ser complicado, e incluso un poco arriesgado, ya que tendría que hacerlo para cada actualización, e incluso es posible que no pueda actualizar dicha aplicación (debido al "sello roto").
En ese caso, eliminaré las otras aplicaciones registradas para manejar el evento. Esto no es ideal, pero en ese caso específico estará bien. Gracias por los detalles.
Totalmente de acuerdo, no es ideal. Pero me alegro de que al menos sea una solución viable para ti. Resumiré ahora todos los detalles en una respuesta (para que sea más fácil de seguir para otros. Siéntete libre de votar a favor/aceptarlo entonces :)

Respuestas (1)

Fondo

Para comprender el problema, necesitará un poco de información sobre cómo funciona esto:

Para casi todo, Android transmite "eventos", como por ejemplo boot_completed, SMS recibido, tarjeta SD insertada/retirada, batería baja... Señal NFC recibida. Las aplicaciones pueden registrar los llamados "Oyentes" con el sistema, que están vinculados a eventos específicos. En su caso, las aplicaciones mencionadas se han registrado para eventos NFC.

Ahora, cuando se transmite un evento y no hay un oyente, no pasa nada. Si es una sola aplicación que registró un oyente, se llamará a esta aplicación. Si varias aplicaciones registraron oyentes, el sistema busca si uno de ellos está configurado como "Predeterminado" por el usuario; si es así, se llama a este; de ​​lo contrario, aparece una ventana emergente para que el usuario elija qué aplicación debe manejar el evento. Por lo general, esta ventana emergente también tiene una casilla de verificación para hacer que esa aplicación sea la predeterminada para este evento determinado.

Soluciones

Como se dijo, por lo general debería haber una casilla de verificación, que en su caso no parece ser el caso. Entonces parece que no hay posibilidad de definir una acción predeterminada para este evento, cualquiera que sea el motivo. Puede probar aplicaciones de la tienda de juegos que manejan aplicaciones predeterminadas (por ejemplo , Administrador de aplicaciones predeterminado ), pero lo más probable es que esto tampoco funcione.

Un segundo punto para buscar sería en Configuración → Aplicaciones → Administrar aplicaciones , elija la aplicación de su elección y vea si tiene la casilla de verificación correspondiente no atenuada ; si es así, simplemente márquela. Lo más probable es que esté atenuado, por lo que tampoco podrá hacer nada aquí.

El siguiente paso requeriría root, por lo que si su dispositivo no está rooteado, es puramente informativo para usted. Como se describe anteriormente en "Antecedentes", todas las aplicaciones relacionadas tienen un oyente registrado en el sistema. Por lo tanto, deberíamos poder anular el registro. Esto se puede hacer, por ejemplo, con Autorun Manager PRO (sí, necesitará la versión Pro, ya que con la versión gratuita solo puede cambiar 2 entradas).

Administrador de ejecución automática Pro

Como muestra la captura de pantalla, esta aplicación puede habilitar/deshabilitar los oyentes, por lo que puede evitar que las aplicaciones se inicien automáticamente en situaciones en las que prefiere no hacerlo. Lo que se aplicaría al tuyo: encuentra el oyente correspondiente, desactívalo, bien.

Sin root, la única posibilidad que queda es deshacerse de todas menos una de las aplicaciones. Puede desinstalar los demás o, si prefiere conservarlos (y tiene Android 4.0 o superior), simplemente desactívelos en Configuración → Aplicaciones → Administrar aplicaciones , de modo que cuando sea necesario, simplemente puede reactivarlos en el mismo lugar.

Gracias por el resumen. Probé aplicaciones como Default App Manager pero no cubren NFC.
La razón de eso todavía no está clara para mí. Si es demasiado nuevo (por lo que el administrador de aplicaciones predeterminado no conoce NFC), el controlador de eventos en Android debería ser capaz de manejar esto, incluidos los valores predeterminados. Gracias por el nombre de la aplicación, actualizaré mi respuesta con él, para que tengamos todo junto allí :)
Intenté congelar la aplicación nfc (servicio nfc de samsung) en mi nota 2 con titanio, pero eso eliminó por completo nfc.