NFC在Android中的应用

作者: fefg_27872 | 来源:发表于2015-11-26 17:55 被阅读990次

什么是NFC?Google一大坨,百度一大坨,我就不讲了,这里我只讨论技术细节。

首先我们先讨论一下这样的一个问题,当我们把NFC标签靠近手机,并且手机感应后,我们通过什么方式能得到NFC标签信息呢?答案就是通过Intent的方式来获取。现在的需求是我想在启动一个Activity后通过读NFC的方式得到里面的信息。下面我来介绍具体做法。

通过分析需求得知,我们需要前台调度系统机制,这种机制允许Activity拦截Intent对象。

1.获取NfcAdapter
nfcAdapter= NfcAdapter.getDefaultAdapter(this);

2.构造PendingInent对象封装NFC标签信息
mPendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);

3.声明Intent对象的过滤器
IntentFilter ndef = new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED); try { ndef.addDataType("*/*"); } catch (IntentFilter.MalformedMimeTypeException e) { throw new RuntimeException("fail", e); }
4建立一个处理NFC标签技术的数组

    mTechLists = new String[][]{new String[]{NfcF.class.getName()}};

5.这是最核心最重要的一步了,我们需要在Activity的onResume方法中调用nfcadapter的enableForegroundDispatch方法把上面的变量作为参数传递进来,
nfcAdapter.enableForegroundDispatch(this, mPendingIntent, mFilters,mTechLists);
一旦NFC标签接触到手机,这个方法就会被激活。

6.最后我们需要在onNewIntent方法中处理Intent回调给我们的信息。
Parcelable[] rawArray = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); NdefMessage mNdefMsg = (NdefMessage) rawArray[0];//得到NdefMessage NdefRecord mNdefRecord = mNdefMsg.getRecords()[0];//得到NdefRecord

以上我只是讨论了基本步骤,第二篇我会详细介绍技术细节

相关文章

  • NFC在Android中的应用

    什么是NFC?Google一大坨,百度一大坨,我就不讲了,这里我只讨论技术细节。 首先我们先讨论一下这样的一个问题...

  • Android NFC

    在安卓开发中开始应用NFC NFC (近场通信)。 NFC 科技代表近场通信,你可以在 NFC 论坛上找到 NFC...

  • Android NFC 应用

    因项目需要,开发NFC相关的功能,将了解的微末记录一下。 先看官方资料还是推荐先看官方文档,Advanced NF...

  • android nfc 调试技巧

    android nfc debug tips 终于领悟到android nfc调试真谛了 android 显示进程...

  • Android NFC读卡器,仿真卡流程学习

    学习资料: Android中NFC读取金融IC卡 感谢laocaixw大佬,找了半天NFC相关开发的博客,终于找到...

  • android nfc 的简单应用

    第一步:在注册文件中注册权限 //“android:required="true"”过滤掉不支持nfc的...

  • 永别了!Android Beam在Android Q中正式移除

    前言 据媒体最新报道,谷歌在最新的Android Q中移除了Android Beam功能,两款支持NFC的Andr...

  • NFC通讯之Beam方式

    临时接到要求,开发一个基于Android智能手表的NFC应用。立刻在网上狂搜索了一番。了解到NFC通讯有 三种方式...

  • android nfc tag3 调试日记

    android nfc tag3 调试日记 又到了每天最愉快的调试android nfc模块的时候。nfcpy中有...

  • NFC开发(一)——HCE基于主机的卡模拟简述

    0x00 概述 许多提供NFC功能的基于Android的设备已经支持NFC卡模拟。在大多数情况下,该卡由设备中的单...

网友评论

    本文标题:NFC在Android中的应用

    本文链接:https://www.haomeiwen.com/subject/seddhttx.html