Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Compatibilidad Con NFC: 1. Usar Con Un Emulador
Compatibilidad Con NFC: 1. Usar Con Un Emulador
No todos los dispositivos que funcionan con Android son compatibles con la tecnología NFC. Antes de
iniciar una comunicación NFC en una aplicación, es preciso verificar si la tecnología está disponible en
el dispositivo del usuario. A continuación, es necesario "informar" al dispositivo que la aplicación es
capaz de iniciar una comunicación NFC.
Para desarrollar funcionalidades NFC, además del emulador Android clásico, el desarrollador debe
disponer de un mecanismo que le permita emular tarjetas/tags NFC. El proyecto Open NFC,
financiado por la empresa Inside Secure (www.insidesecure.com), provee, de manera gratuita, dicho
emulador.
El proceso de instalación, así como el origen de los elementos que se deben descargar, están
disponibles en la siguiente dirección: http://open-nfc.org/wp/editions/android/
<uses-permission android:name="android.permission.NFC"/>
Este permiso está disponible desde la versión 9 (2.3, Gingerbread) de la API Android, las versiones
anteriores de Android no son compatibles con la tecnología NFC.
En función de las necesidades, se plantean dos escenarios: bien la aplicación se muestra como
disponible únicamente para aquellos dispositivos compatibles con NFC (técnica de filtrado por
dispositivo), o bien la compatibilidad con NFC se comprueba en el momento de uso de NFC (técnica
de comprobación en tiempo de ejecución).
Como hemos visto (capítulo Publicar una aplicación), Play Store de Google permite filtrar los
dispositivos en función de los recursos necesarios para la ejecución de una aplicación. Este filtrado,
bien sea para la tecnología NFC o para cualquier otra tecnología, se realiza a nivel del manifiesto
de la aplicación.
<uses-feature android:name="android.hardware.nfc"
android:required="true" />
if(NfcAdapter. getDefaultAdapter(getApplicationContext())==null)
Log.d(TAG,"Su dispositivo no dispone de la tecnología NFC");
else
Log.d(TAG,"Enhorabuena, puede utilizar los tags NFC");
Aunque el dispositivo del usuario sea compatible con NFC, es posible que esté deshabilitado en el
dispositivo. El objeto NfcAdapter permite detectar el estado del adaptador NFC, mediante el
método i sEnabled(). Este método devuelve truesi el adaptador está habilitado, o falseen
caso contrario. A continuación resulta sencillo solicitar al usuario que active, él mismo, la función,
iniciando una actividad con la acción Settings.ACTION_NFC_SETTINGS.
if(nfcAdapter ==null)
return;
if(!nfcAdapter.isEnabled())
startActivity(new Intent(Settings.ACTION_NFC_SETTINGS));