NFC

http://blog.csdn.net/zoeice/article/details/9714867

       

在Android系统下,目前主要以支持NDEF (NFC Data Exchange Format)格式为主,如果遇到是非预设支持的NDEF在Android仍有自订相关处理方式。NDFE data从NFC tag中取出,交由tag dispatch system进行处理.


[第一条NdefRecord的作用:判断数据类型及如何解释整个NDEF消息]

1.1)扫描到包含NDEF格式数据的NFC标签时,首先系统会读取消息(NdefMessage)中的第一条NdefRecord,
1.2)标签调度系统尝试根据TNF把类型字段映射到MIME型或URI
1.3)成功,标签调度系统会把这个URI跟其他相关的标签的信息(如数据负载)一起封装到ACTION_NDEF_DISCOVERED的Intent对象中。
     否则 就会用一个标签技术信息相关的Tag对象和封装在ACTION_TECH_DISCOVERED类型Intent对象内部的负载来代替
    (退化到ACTION_TECH_DISCOVERED类型的Intent对象)

1.4)把该Intent对象发送给感兴趣的应用程序


NFC标签分类的根据是:卡的格式(ISO 14443-3A、B 标准,JIS 6319-4标准)和容量。 
NFC可兼容索尼公司的FeliCaTM卡(基于JIS 6319-4标准)以及已广泛建立的非接触式智能卡(如基于ISO 14443 A的MIFARE)
在新的标准ECMA-340(后被编入IEC-18092)中制定了新的通信协议,所有上述标准(ISO 14443-3A、B 标准,JIS 6319-4标准)都被涵盖在内。


前台发布系统允许一个Activity覆盖掉Intent发布系统而首先处理此tag Intent,这要求你将要处理Tag Intent的Activity运行在前台,这样当一个NFC tag被扫描到,系统先检测前台的Activity是否支持处理此Intent,如果支持,即将此Intent传给此Activity,如果不支持,则转到Intent发布系统。


标签调度系统( Intent发布系统)的基本工作方法如下:
1.用解析NFC标签时由标签调度系统创建的Intent对象(ACTION_NDEF_DISCOVERED或ACTION_TECH_DISCOVERED)来尝试启动Activity;
2.如果没有对应的处理Intent的Activity,那么就会尝试使用下一个优先级的Intent(ACTION_TECH_DISCOVERED或ACTION_TAG_DISCOVERED)来启动Activity,
  直到有对应的应用程序来处理这个Intent,或者是直到标签调度系统尝试了所有可能的Intent。
3.如果没有应用程序来处理任何类型的Intent,那么就不做任何事情。

在可能的情况下,都会使用NDEF消息和ACTION_NDEF_DISCOVERED类型的Intent来工作,因为它是这三种Intent中最标准的。
这种Intent与其他两种Intent相比,它会允许你在更加合适的时机来启动你的应用程序,从而给用户带来更好的体验。

 

iten机制:(运行时绑定(run-time binding)机制

Action:用来指明要实施的动作是什么

Category:类别,一个字符串,包含了关于处理该intent的组件的种类的信息。一个intent对象可以有任意个category

Data: 数据,一般由一个Uri变量来表示

Type:类型,显式指定Intent的数据类型(MIME)

component:指定Intent的目标组件的类名称

extras:附加信息


mifare 



http://www.tuicool.com/articles/qYjiyuE


需注意的是:
     ?Android 2.3.3 (API Level 10)才有支持完整的NFC功能;
     ?Android 4.x 支持 Android Application Record (AAR);
     ?Android 4.0 支持 Beam;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值