Héc*_*tor 10 tags android nfc android-beam hce
我找到了两种让Android应用检测和处理NFC标签的方法:
NfcAdapter.enableReaderMode(activity, callback, flags, extras) 然后在回调中接收标记信息.
NfcAdapter.enableForegroundDispatch(activity, intent, filters, techLists)然后在onNewIntent(intent)activity方法中接收标记信息.
我目前使用的是第二种方法,但是,我最近发现了这种enableReaderMode方法,并想知道用它来处理NFC标签是否更好.
那么enableReaderMode和之间的区别是什么enableForegroundDispatch?
Mic*_*and 15
NfcAdapter.enableForegroundDispatch()自Android 2.3.3(基本上是Android NFC的开始)以来,forground dispatch system()一直存在.因此,所有具有NFC功能的Android设备都支持此方法.
前台调度系统用于在处理NFC发现事件(即,从对等设备接收的已发现的NFC标签和NDEF消息)中给出当前处于前景优先级的活动.这意味着即使另一个应用程序(通过AndroidManifest.xml中的intent过滤器)注册了特定标记类型或NDEF数据,NFC事件仍将传递给前台活动而不是其他活动.因此,该方法不会改变Android侦听NFC设备(NFC标签,P2P设备)的方式,只会改变处理已发现设备的优先级.
读者模式API(AndroidManifest.xml)是在Android 4.4中引入的.因此,并非所有具有NFC功能的Android设备都支持此方法.
与前台调度系统相反,阅读器模式API确实改变了Android侦听NFC设备的方式.reader-mode API禁用点对点模式.例如,这允许您发现具有点对点模式和卡仿真模式的其他设备的卡仿真模式(如Android HCE的情况).(通常,这样的设备会被发现为点对点设备,而Android应用程序将无法访问卡模拟功能.)
此外,您可以更改NFC阅读器模式的特定参数,例如,您可以
enableReaderMode:当此 Activity 在前台时,将 NFC 控制器限制为读取器模式。
enableForegroundDispatch:这将在将发现的标签分派给应用程序时优先考虑前台活动。
所以基本上你可以将两者用于相同的目的,即读/写标签。enableReaderMode由 Android 手机与 Broadcom NFC 控制器结合使用,因为存在检查存在错误。据我所知,只有enableReaderMode通过增加EXTRA_READER_PRESENCE_CHECK_DELAY.
| 归档时间: |
|
| 查看次数: |
5064 次 |
| 最近记录: |