仅从特定活动中读取NFC标签

Gau*_*ale 2 android nfc

我首先告诉你我在做什么.我在序列中有三个活动,

活动1 >>活性2 >> Activity3.现在,当我点击标签时,我只想从Activity2读取NFC标签.当我在Activity1或Activity3中时,我的应用程序无法读取标记.我怎么想这个,有没有启用/禁用选项?任何属性设置为相同?我不想提示用户为此目的从设置启用/禁用NFC.

Kam*_*hev 10

作为前台应用程序,您的应用程序将始终有机会对触摸的标记做出第一反应.因此,您需要做的是为您的活动启用forgraoundDsipatch,在Activity1和Activity3上启用忽略该事件,并在Activity2上处理触摸的标记的信息.否则,如果您的应用程序没有接收到检测到的标签的事件,则Android调度系统将继续搜索合适的应用程序以触发,当它找到它时,它将在您的应用程序之上启动它.

有关Foreground Dispatch的更多信息,请访问:http://developer.android.com/guide/topics/nfc/advanced-nfc.html#foreground-dispatch

  • 您可以对过滤器和techLists使用null,但对于pendingIntent,您应该指定哪个类将负责标记解析.PendingIntent pendingIntent = PendingIntent.getActivity(this,0,new Intent(this,getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP),0); (3认同)