NFC三种模式NDEF,TECH,TAG
来源:互联网 发布:网络用语ins是什么意思 编辑:程序博客网 时间:2024/05/17 03:35
假设在nexus s手机上装了3种NFC相应程序(每种应用程序的启动页就是一个activity),分别对应三种过滤器,那么当一个tag靠近时,nexus s究竟选择哪种应用程序来处理呢?按照以下的规则,该规则成为intent发布系统规则:
activity A中对intent过滤器设置了android.nfc.action.NDEF_DISCOVERED的判断规则;
<intent-filter>
<action android:name = "android.nfc.action.NDEF_DISCOVERED" />
<data android:mimeType = "text/plain" />
</intent-filter>
activity B中对intent过滤器设置了android.nfc.action.TECH_DISCOVERED的判断规则;
<intent-filter>
<action android:name="android.nfc.action.TECH_DISCOVERED" />
</intent-filter>
<meta-data android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/filter_nfc" />
activity C中对intent过滤器设置了android.nfc.action.TAG_DISCOVERED的判断规则;
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
1、按照优先级(android.nfc.action.NDEF_DISCOVERED优先级最高),会先去判断请求是否满足activity A(因为A用的是NDEF_DISCOVERED)中的intent过滤器规则,先判断请求是否是NDEF_DISCOVERED格式的数据(action name),另外再判断NDEF_DISCOVERED数据的类型(action type),是纯文本还是智能海报,只有与过滤器中两个条件都要求的一致,才会选择activity A来处理。
2、当activity A不满足,则判断activity B来判断,也就是NDEF_DISCOVERED处理不了的则开始找TECH_DISCOVERED。Activity B的intent过滤器中选择了根据TECH_DISCOVERED来过滤,也就是请求tag的NFC规范必须满足TECH_DISCOVERED设置的ISO14443-4、ISO14443-3A,或者ISO14443-3B种的一种或几种。TECH_DISCOVERED过滤必须要定义一个xml文件来筛选所要支持的tech的模式,根据 <meta-data android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/filter_nfc" /> 来关联对应的tech过滤器filter_nfc文件。在filter_nfc.xml中,只有符合了<tech-list>….</tech-list>标签之间定义的NFC标准,该activity才会相应,否则则都被activity设置的intent过滤器给pass掉。
3、当请求intent对于NDEF_DISCOVERED和TECH_DISCOVERED规则都不满足的时候,则intent才开始找intent过滤规则为android.nfc.action.TAG_DISCOVERED的activity,也就是activity C。TAG_DISCOVERED的过滤规则是最不严格的,只要符合NFC规范中的任一种则都会响应,所以在android中,它的优先级是最低的,否则一开始就选择TAG_DISCOVERED来相应,activity无法获得tag更详细的一些信息,比如tag满足的NFC规范或者NDEF类型等。
http://qing.blog.sina.com.cn/1766585715/694bf573330001j4.html
- NFC三种模式NDEF,TECH,TAG
- NFC三种模式NDEF,TECH,TAG 解析顺序
- BB10 写NDEF消息到NFC tag上
- android NFC NDEF解析 3
- nfc 标签调度和ndef数据处理
- android nfc中Ndef格式的读写
- [NFC]NDEF和RTD协议介绍
- nfc 标签调度和ndef数据处理
- android nfc中Ndef格式的读写
- android nfc NDEF的RTD_TEXT读写
- [NFC] 程序设计(NDEF 格式介绍)
- android nfc中Ndef格式的读写
- NFC技术:NDEF文本格式解析
- [NFC]NDEF和RTD协议介绍
- android nfc中Ndef格式的读写
- 关于NFC返回的NDEF格式.
- NFC Forum发布NFC数据交换格式(NDEF)规范
- NFC Forum发布NFC数据交换格式(NDEF)规范
- Listbox与Listbox with key的区别
- Yii中validator之scenario
- JAVA高新技术——JavaBean、内省、BeanUtils工具包
- 计算机网络通信
- 动态规划之最长公共子序列
- NFC三种模式NDEF,TECH,TAG
- ICON资料站
- 【转载】fatal error C1853解决方法
- gdb调试正在运行的进程
- 计算机网络的拓扑结构
- Windows 系统上 PHP Error Code:5 Access Denied
- 关于后台JsonUtil和前台JSON的配置
- 二维数组和二级指针
- 关于Qt/QML开发的相关资料的分享