Pasar información a un HostApduService desde otro contexto

Esto se ha preguntado antes sin respuestas, por lo que intentaré formular la pregunta de manera un poco diferente. ¿Cuáles son las diversas formas de pasar algunos datos a un Android?Service sin ser capaz de vincularlo o iniciarlo yo mismo?

Aquí está el problema: tengo unHostApduService que inicia el sistema operativo en cada transacción con tarjeta NFC. Requiere el permisoandroid.permission.BIND_NFC_SERVICE, que es un permiso del sistema, por lo que mi aplicación no puede vincularse a él. No quiero dejar los datos en reposo, por lo que todo lo que se escribe en el disco es imposible. Pensé en algunas soluciones posibles, pero son desordenadas o inseguras:

Ponga los datos en las preferencias compartidas de nuestra aplicación. Esto presenta un problema DAR.Transmitir información a laService. losHostApduService se ejecuta durante la transacción de la tarjeta, por lo que no puedo programar la transmisión de manera confiable para que llegue al servicio antes de que comience a funcionar.Ponga la información que quiero pasar en unstatic campo en alguna parte. Esto es complicado y podría causar problemas de concurrencia, pero es lo que estoy usando actualmente.

¿Alguna otra idea? Gracias por adelantado.

Respuestas a la pregunta(1)

Su respuesta a la pregunta