Pregunta

He estado trabajando en muestras de NFC durante Peer-To-Peer modo.he implementado onResume método de dos maneras diferentes, para el modo iniciador y el modo objetivo como se muestra a continuación:

Para el modo iniciador:

mAdapter.setNdefPushMessage(getTestNdefMessage(), this);

y para el modo objetivo:

mAdapter.enableForgroundDispatch(this, pendingIntent, null, null);

Hice un teléfono Android como iniciador y otro como objetivo y los puse espalda con espalda.Aquí puedo escuchar el sonido de detección del dispositivo NFC pero no recibo ninguna llamada. onNewIntent en el teléfono Android configurado como Modo objetivo.

¿Alguien puede ayudarme en lo que me equivoco, en el concepto O en la implementación?si habilito Android NFC Beam de settings de lo que recibo una notificación Initiator dispositivo para Touch to Beam.En este caso recibo una llamada a onNewIntent.

Cualquier dirección será útil.

¿Fue útil?

Solución

Haz Android es La única funcionalidad de comunicación entre pares de Android.Entonces, cuando deshabilites Android Beam, tu dispositivo no podrá enviar ni recibir mensajes en el modo peer-to-peer.Como consecuencia, onNewIntent (et al) no se activará al juntar dos teléfonos si Beam está desactivado.

Android Beam se implementa sobre la pila de protocolos de modo peer-to-peer estándar del NFC Forum:

+--------------------------------------------+
| Android Beam                               |
+--------------------------------------------+
| NDEF (NFC Data Exchange Format)            |
+--------------------------------------------+
| SNEP (Simple NDEF Exchange Protocol)       |
| (or NDEF Push Protocol (NPP) for backwards |
| compatibility to pre-SNEP Android devices) |
+--------------------------------------------+
| LLCP (Logical Link Control Protocol)       |
+--------------------------------------------+
| NFCIP-1 (ISO/IEC 18092)                    |
+--------------------------------------------+

(La terminología "iniciador" y "destino" que utiliza solo es relevante en la capa NFCIP-1.Normalmente, ambas partes se implementarían en un dispositivo NFC y dos dispositivos NFC acordarían (de forma algo automática) quién asume el rol de iniciador y quién asume el rol de objetivo).

Por lo tanto, normalmente implementaría todas las capas hasta SNEP para comunicarse con un dispositivo Android que tenga Beam.Windows Phone 8 y Blackberry ya implementan SNEP para el intercambio de datos NDEF entre pares.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top