Etiqueta Android NFC recibida con el receptor de difusión
Estoy tratando de capturar la etiqueta NFC en receptor de difusión por lo que escribí un BR simple que imprime "asd" en el onReceive (). En el xml de manifiesto es desribed así:
Y recibo sólo esto y ninguna impresión en absoluto ….
- Escribir datos en la etiqueta NFC en el tutorial de Android
- Escribir etiquetas NFC para que funcione con Android y Windows Phone8
- Cómo enviar una cadena simple de android a android sobre nfc?
- Leer datos de la etiqueta NFC (IsoDep)
- Emulación de tarjeta NFC Android
01-31 16:37:18.980: ERROR/MediaPlayer(990): setAudioStream called in state 8 01-31 16:37:18.980: ERROR/MediaPlayer(990): error (-38, 0) 01-31 16:37:18.980: ERROR/MediaPlayer(990): start called in state 0 01-31 16:37:18.980: ERROR/MediaPlayer(990): error (-38, 0) 01-31 16:37:18.988: ERROR/MediaPlayer(990): Error (-38,0)
Cuando uso la actividad para manejar la intención como esta:
<activity android:name="TagViewer" android:theme="@android:style/Theme.NoTitleBar"> <intent-filter> <action android:name="android.nfc.action.TAG_DISCOVERED"/> <category android:name="android.intent.category.DEFAULT"/> </intent-filter> </activity>
La actividad se inicia y funciona perfectamente, así que ¿cómo puedo hacer que funcione con BroadcastReceiver?
- No se pueden enviar datos desde o hacia un Galaxy Nexus a través de LLCP
- Inicio de la aplicación cuando MIFARE Classic se detecta con Android NFC
- Escribir en una etiqueta Mifare con Android NFC?
- Activar / desactivar NFC con comando ADB
- Registro AAR en NFC: ¿Dónde está la carga útil?
- Cómo enviar una cadena utilizando NFC desde un teléfono Windows 8 a un dispositivo Android
- Actividad / aplicación iniciada desde NFC nunca aparece en la lista de aplicaciones recientes
- NFC y MIME TYPE sensible a mayúsculas y minúsculas
No puedes. Como usted señaló, el adaptador NFC está utilizando algo muy parecido a startActivity () para enviar una intención con información de etiqueta en ella. No es exactamente como lo que podemos hacer dentro del SDK de Android, ya que las etiquetas NFC son especiales. Por ejemplo, no puede emular la startActivity () por su cuenta para nada excepto TAG_DISCOVERED, que es la acción de último recurso y no terriblemente útil.
Creo que la razón de esto es debido al manejo especial de las intenciones NFC. Cuando una etiqueta es descubierta por el hardware NFC, va buscando algo que maneje la etiqueta. Las actividades del primer plano consiguen primer intento. Intenta una intención NDEF_DISCOVERED a continuación si puede, y busca una actividad para tomarla. Si no puede encontrar uno, intenta una intención con TECH_DISCOVERED. Una vez más, si no se puede encontrar ninguna actividad, finalmente intenta TAG_DISCOVERED. Si se utiliza una emisión, ¿cómo podría hacer esta lógica de retroceso para seguir tratando de encontrar algo para manejar la etiqueta? ¿Cómo sabría si algo estaba actuando en la intención de la etiqueta? ¿Y cómo podría asegurarse de que sólo una cosa iba a actuar en la etiqueta?
Usted podría escribir una pequeña actividad que no muestra ninguna interfaz de usuario, envía un mensaje de difusión y luego termina con finish (). Usando banderas en el manifiesto puede evitar que aparezca en la historia o en recents y ser faily invisible, con suerte obtener un efecto similar a lo que usted desea con el receptor braodcast.
- Cuando utiliza TalkBack, ¿cuál es la forma preferida de alertar al usuario cuando el contenido de un TextView ha cambiado?
- Cómo ocultar el teclado al ingresar la clave