Documentación para com.android.nfc_extras?

Aparentemente, si tiene un teléfono con raíz, puede utilizar com.android.nfc_extras para obtener acceso a funciones como la emulación de tarjetas ( Secure element Access Control en ICS 4.0.4 ).

Sé que se trata de una API no oficial, pero ¿hay alguna documentación para ello (oficial o no oficial)? ¿O por otra parte, la emulación de tarjetas es mucho más complicada de lo que me he dado cuenta?

Tenga en cuenta que el acceso al elemento seguro y la emulación de tarjetas son en realidad dos cosas diferentes. El elemento seguro está esencialmente cerrado; No puede modificarlo. Usando com.android.nfc_extras puede activar o desactivar la emulación de la tarjeta mediante el elemento seguro. Eso es.

Puede enviar APDUs al elemento seguro desde su aplicación, como comunicarse con una etiqueta IsoDep (en la parte de nivel inferior de la pila NFC, ambas utilizan la misma ruta de código). Ver por ejemplo http://nelenkov.blogspot.nl/2012/08/accessing-embedded-secure-element-in.html para una buena explicación de cómo hacerlo.

No hay documentación. Si desea explorar esta API le sugiero que mire directamente el código fuente. No es mucho, sólo dos archivos que implementan y definen la API. Puede obtener una copia por ejemplo aquí:

http://source-android.frandroid.com/frameworks/base/nfc-extras/java/com/android/nfc_extras/

En la API encontrarás conceptos como ExecutionEnvironment, Routes, etc. No dejes que estos conceptos te confundan. Al final, todo lo que puedes hacer con la interfaz NfcExtras es:

  • Active la emulación de tarjetas estableciendo una ruta creada con ROUTE_ON_WHEN_SCREEN_ON.

  • Desactive la emulación de la tarjeta configurando la ruta de apagado.

  • Intercambiar datos con el elemento seguro incorporado.

¡Eso es! Todo lo demás es sólo azúcar API para hacer que las cosas se vean más grandes de lo que realmente es.

Algunas advertencias adicionales:

  • Si desea llamar a las funciones que necesita su aplicación para ser de lista blanca en el archivo nfcee_access.xml se encuentra en / etc. Si no se incluye una lista blanca, obtendrá una excepción de violación de acceso.

  • No hay forma de distinguir entre el elemento seguro incorporado o el UICC con capacidad NFC presente en el teléfono.

  • No hay manera de hablar con el UICC con capacidad NFC en el teléfono. Sólo puede hablar con el elemento seguro incorporado (también conocido como el chip SmartMX para teléfonos con chipset NXP). La comunicación con la propia UICC sólo es posible a través de la interfaz RID a través de la interfaz ISO7816, y esto es, si es posible, propiedad.

  • Por último, pero no menos importante: No hay ninguna garantía de que la interfaz NfcExtras hace nada en absoluto. La interfaz es utilizada por Google Wallet, pero el mercado de pagos móviles está segmentado y todos cocinan su propia sopa. Conozco al menos un gran proveedor de pagos móviles que ignora por completo la interfaz NfcExtras, la deshabilita y utiliza su propio mecanismo oculto para activar y desactivar las cosas.

  • ¿Es posible iniciar una aplicación cuando se escanea una etiqueta NFC?
  • Creación de un registro WiFi NDEF utilizando application / vnd.wfa.wsc en Android
  • Android: Nueva etiqueta recogida - Tipo de etiqueta desconocido
  • Archivo json de Android Beam
  • ¿Cómo saber si la etiqueta está presente?
  • ¿Existen teléfonos Android que admitan APDUs ampliadas?
  • ¿Cómo puedo enviar una cadena a través de NFC mientras Screen-Pinning?
  • android nfc configuración toggle oyente
  • Android nfcA.connect (), nfcA.transceive (), nfcA.setTimeout () y nfcA.getMaxTransceiveLength ()
  • Bidireccional bidireccional de Android
  • Los intentos de NFC de Android no están iniciando mi actividad
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.