NFC 前台发布系统

NFC 前台发布系统

NFC扫描到的标签Tag最终是需要上报到应用Application进行数据的读写操作。上报的方式现在主要有两种:前台发布、Intent过滤发布。我们先来分析下NFC前台发布系统是如何工作的。

Application首先需要获取NFC的适配器 NfcAdapter实类,通过适配器对外提供的API:enableForegroundDispatch()、disableForegroundDispatch()来打开、关闭前台发布系统。这两个接口必须在Activity处于运行状态时调用,即Activity在屏幕前台,所以才称为前台发布系统。一般将enableForegroundDispatch()放在onResume()的重写中调用,disableForegroundDispatch()放在onPause()的重写中调用。

详细的时序图如下:
在这里插入图片描述
Tag的获取请参考《NFC Discovery》这篇文章,当有匹配filters、techLists的Tag上报时,这套前台发布系统就会起作用,直接将标签发布给前台应用而不进行Intent过滤发布,都不匹配再进行Intent过滤发布,所以前台发布系统的优先级高于Intent过滤发布系统。

上层Activity接收到Intent后,从中解析出Tag、Ndef等进行数据的读写。如何读写数据网上的教程很多,这里就不做过多描述。

发布了12 篇原创文章 · 获赞 5 · 访问量 504

猜你喜欢

转载自blog.csdn.net/weixin_44260005/article/details/103190290
NFC