官方API:
https://developer.android.google.cn/guide/topics/connectivity/nfc/nfc

基础概念,什么是nfc?

Near Field Communication (NFC)是一组短程无线技术,通常需要4cm或更少的距离来启动连接。NFC允许您在一个NFC标签和一个android设备之间,或在两个android设备之间共享少量有效数据。

主要模式

带有NFC的安卓设备同时支持三种主要操作模式:
1,读写模式,允许NFC设备读写无源NFC标签和贴纸。
2,P2P模式,允许NFC设备与其他NFC节点交换数据;此操作模式为Android Beam所采用。
3,卡仿真模式,允许NFC设备本身作为一个NFC卡。模拟的NFC卡可以由外部NFC阅读器(如NFC销售点终端)访问。

Android中使用NFC发送和接收NDEF标准的消息

在Android中执行的基本NFC任务。如何以NDEF消息的形式发送和接收NFC数据。
使用NDEF数据和Android有两个主要的用例:
1.从NFC标签读取NDEF数据
2.使用Android Beam™将NDEF消息从一个设备发送到另一个设备

从NFC标签读取NDEF数据由标签分发系统处理,该系统分析发现的NFC标签,对数据进行适当的分类,并启动对分类数据感兴趣的应用程序。希望处理被扫描的NFC标记的应用程序可以声明一个intent过滤器并请求处理数据。

标签调度系统
安卓设备通常在解锁时寻找NFC标签,除非在设备的设置菜单中禁用NFC。当android驱动的设备发现一个NFC标签时,期望的行为是让最合适的活动处理意图,而不询问用户使用什么应用程序。由于设备扫描NFC标签的范围非常小,因此让用户手动选择一个活动可能会迫使他们将设备从标签处移开,并断开连接。您应该开发活动来只处理活动关心的NFC标记,以防止活动选择器出现。

怎么做到的呢?

Android提供了一个特殊的标签分发系统,可以分析扫描的NFC标签,解析它们,并尝试定位对扫描数据感兴趣的应用程序。它是这样做的:
1.解析NFC标记并计算出用于标识标记中的数据有效负载的MIME类型或URI。
2.将MIME类型或URI和有效负载封装到intent中。前两个步骤将在如何将NFC标记映射到MIME类型和uri中进行描述。
3.基于意图启动一个活动。这在如何将NFC标记分配到应用程序中进行了描述。

如何将NFC标记映射到MIME类型和uri

在开始编写NFC应用程序之前,了解不同类型的NFC标记、标记分发系统如何解析NFC标记以及标记分发系统在检测到NDEF消息时所做的特殊工作非常重要。NFC标签有各种各样的技术,也可以用多种不同的方式写入数据。Android对NDEF标准的支持最多,NDEF标准是由NFC论坛定义的。
NDEF数据封装在一个消息(NdefMessage)中,该消息包含一个或多个记录(NdefRecord)。每个NDEF记录必须根据您想要创建的记录类型的规范定义好的格式。

如何将NFC标签分配给应用程序

当标签分发系统完成创建封装NFC标签及其标识信息的意图时,它将该意图发送到对该意图进行筛选的感兴趣的应用程序。如果有多个应用程序可以处理意图,则会显示活动选择器,以便用户可以选择活动。标签调度系统定义了三个意图,按照从高到低的优先级排列:
1,ACTION_NDEF_DISCOVERED:此意图用于在扫描包含NDEF有效负载的标记并具有可识别的类型时启动活动。这是最高优先级的意图,标记调度系统尽可能在任何其他意图之前尝试启动具有此意图的活动。,2,ACTION_TECH_DISCOVERED:如果没有活动注册来处理ACTION_NDEF_DISCOVERED意图,标记调度系统将尝试使用此意图启动应用程序。如果被扫描的标记包含不能映射到MIME类型或URI的NDEF数据,或者标记不包含NDEF数据,但属于已知的标记技术,则此意图也将直接启动(无需首先启动ACTION_NDEF_DISCOVERED)。
3,ACTION_TAG_DISCOVERED:如果没有活动处理ACTION_NDEF_DISCOVERED或ACTION_TECH_DISCOVERED意图,则启动此意图。

标签调度系统的基本工作方式如下:

1.尝试在解析NFC标记(ACTION_NDEF_DISCOVERED或ACTION_TECH_DISCOVERED)时使用标记调度系统创建的意图启动活动。
2.如果没有针对该意图的活动过滤,则尝试以下一个最低优先级的意图(ACTION_TECH_DISCOVERED或ACTION_TAG_DISCOVERED)启动活动,直到应用程序对该意图进行过滤,或者直到标记调度系统尝试所有可能的意图。
3.如果没有应用程序对任何意图进行过滤,则什么也不做。

Android手机nfc基础及ndef标准标签消息读写相关推荐

  1. 关于HCE——Android手机NFC模拟刷卡成果和心得(上)

    关于HCE--Android手机NFC模拟刷卡成果和心得 一.前言 在最近,开始研究了手机模拟NFC刷卡的一些内容,想是自己实现一次手机模拟刷卡. NFC大家应该都了解,这两年的安卓手机基本都是支持了 ...

  2. android之NFC基础技术分享

    近场通讯(NFC)是一系列短距离无线技术,一般需要4cm或者更短去初始化连接.近场通讯(NFC)允许你在NFC tag和Android设备或者两个Android设备间共享小负载数据. 典型的应用为刷卡 ...

  3. 华为近场通讯nfc在哪里打开_玩转手机NFC(近场通讯)标签

    去年底以来,以微信.支付宝为首的移动支付以迅雷不及掩耳之势在社会上迅速普及.在非接触支付方面,先是苹果.三星Pay今年初相继上线,紧接着华为Pay亦步亦趋,小米跃跃欲试,试图抢占更大的移动支付份额-- ...

  4. android手机nfc功能安装,Android手机NFC分享功能实测-头条网

    图一.二 名片.网址分享 温馨提示:传送文件时双方手机需处于未锁屏状态,并开启手机的NFC和Android Beam功能,有些手机的设置菜单中找不到Android Beam,是因为其功能已经内置在系统 ...

  5. android手机 代码下载,android手机NFC 示例源码下载

    手机NFC测试软件 资源下载此资源下载价格为2D币,请先登录 资源文件列表 TestNFC/.DS_Store , 6148 TestNFC/._.DS_Store , 4096 TestNFC/.c ...

  6. Android手机分辨率基础知识(DPI,DIP计算)(转)

    1. 术语和概念 术语 说明 备注 Screen size(屏幕尺寸) 指的是手机实际的物理尺寸,比如常用的2.8英寸,3.2英寸,3.5英寸,3.7英寸 摩托罗拉milestone手机是3.7英寸 ...

  7. 支持nfc的android手机,NFC手机有哪些 2017支持NFC功能的手机推荐 (5)

    支持NFC功能的手机推荐:三星S8/S8+ 参考价格:5688元起 推荐理由:概念机外形+隐藏式Home键+最强安卓旗舰 三星S8是今年3月底三星在美国发布的新款安卓旗舰手机,国行版于5月中旬在北京发 ...

  8. Android系统移植与调试之-------)如何修改Android手机NFC模块,使黑屏时候能够使用NFC

    我们都知道在不修改源代码的情况下,只能是解锁之后才能使用NFC功能.而在锁屏和黑屏2个状态下是没办法用NFC的,但是最近有个客户要求手机在黑屏状态下能够使用NFC,因此我们需要去修改Android源代 ...

  9. android手机nfc功能安装,小米6怎么使用NFC功能?小米手机NFC功能使用教程

    NFC设置 在手机中找到设置-更多连接方式-打开NFC 在默认钱包中,默认为使用小米钱包,可以使用MI pay,小米公交卡 当然,你也可以选择其他的:使用HCE钱包.使用SIM卡钱包 NFC共享 在更 ...

最新文章

  1. webkit入门准备
  2. Python编程语言学习:for循环中常用方法经验技巧(利用enumerate函数对列表实现自带索引等)之详细攻略
  3. 2.建一个新目录/oldboy的硬链接数是多少?(考试题答案系列)
  4. sfm点云代码_VisualSFM使用方法与心得
  5. ios 捕抓crash_ios crash的原因与抓取crash日志的方法
  6. IOS libxml/tree.h file not found 解决方案
  7. fastexcel读取excel追加写入sheet页_Python写入和读取excel
  8. Docker环境安装
  9. 嵌入式记录2——Kame四足巡线机器人
  10. 见过这么有才的笑话吗?
  11. 蓝桥杯 java 跳马问题
  12. sails mysql_sails-mysql架构数据类型
  13. matlab 画图直接存储_Matlab用plot画图后怎么保存图像
  14. 如何解决HEVC编码格式不能播放的问题?
  15. 写一个求平方根的函数求一个整数的平方根因为函数类型是整形所以平方根的结果是整数,例如5,的平方根是2,而不是2.3...
  16. 为什么建议将成员属性设置为私有
  17. 嵌入式简答试题及答案汇总
  18. jme-旋转的双子星
  19. 通过命令运行jar包(指定外部依赖jar包)
  20. 浅谈Qt和C++的关系

热门文章

  1. 设为首页-加入收藏-联系我们的代码
  2. 睿速QQ营销——网上销售领航者!!
  3. C++ Primer Plus 第六版 所有章节课后编程练习答案
  4. ybt.1550 花神游历各国 题解
  5. 利用ettercap进行简单的arp欺骗和mitm攻击_codestorm_新浪博客
  6. winaip文档服务器打印,使用 Win32 API 将原始数据发送到打印机
  7. css 科技 边框_一篇文章带你学习CSS3图片边框
  8. SRCNN-基于深度学习的图像超分入门
  9. 2019百越杯初赛——哈尔的移动城堡
  10. 请输入星期几的第一个字母,用来判断是星期几,如果第1个字母一样,则继续判断第二个字母,以此类推。