Estoy tratando de escribir una aplicación simple para interactuar con etiquetas NFC, pero no puedo hacer que mi teléfono haga nada más que activar la aplicación de etiqueta NFC predeterminada. Realmente solo quiero poder interceptar cualquier etiqueta que escanee, determinar si contiene algunos datos y actuar en consecuencia.Android Intenciones NFC no están comenzando mi actividad
Ahora mismo mi archivo de manifiesto parece
<uses-sdk android:minSdkVersion="10" />
<uses-feature android:name="android.hardware.nfc" android:required="true"/>
<uses-permission android:name="android.permission.NFC"/>
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".NfcActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
</intent-filter>
</activity>
</application>
Sin embargo cuando se escanea una etiqueta NFC, no vuelvo a ver el inicio de actividad. ¿Me estoy perdiendo de algo? Traté de colocar el filtro de intención dentro de un BroadcastReceiver
y tampoco tuve suerte ...
¿Por qué demonios no puede recibir todos los eventos NFC en un solo lugar? – FlyingStreudel
La idea de NFC es que puede hacer cosas tales como realizar automáticamente la acción apropiada en su teléfono. Algunos ejemplos: abra una URL en su navegador, regístrese en Foursquare, conéctese automáticamente con una red WiFi. Android determina a qué aplicación reenviar el intento de NFC en función de los filtros de intención de las aplicaciones. El filtro más específico "gana". Si se encuentra más de una coincidencia, se le presenta un selector de aplicaciones al usuario. Hay una excepción: despacho en primer plano NFC, donde la aplicación que se ejecuta en primer plano puede solicitar obtener todos los intentos de NFC de un tipo específico. –
Supongo que no entiendo por qué esta fue la funcionalidad elegida, a diferencia de los SMS, donde la intención puede ser recogido y retransmitido por cualquier número de receptores. Parece tonto que te limites a realizar solo una acción en una interacción con tecnología NFC. – FlyingStreudel