【发布时间】:2012-03-17 08:38:40
【问题描述】:
我先告诉你我在做什么。我在序列中有三个活动,
活动1>>活动2>>活动3。现在,当我点击标签时,我只想从 Activity2 读取 NFC 标签。当我在 Activity1 或 Activity3 中时,我的应用程序应该无法读取标签。我该怎么做,是否有任何启用/禁用选项?任何属性设置相同?为此,我不想提示用户从设置中启用/禁用 NFC。
【问题讨论】:
我先告诉你我在做什么。我在序列中有三个活动,
活动1>>活动2>>活动3。现在,当我点击标签时,我只想从 Activity2 读取 NFC 标签。当我在 Activity1 或 Activity3 中时,我的应用程序应该无法读取标签。我该怎么做,是否有任何启用/禁用选项?任何属性设置相同?为此,我不想提示用户从设置中启用/禁用 NFC。
【问题讨论】:
作为前台应用程序,您的应用程序将始终有机会首先对触摸的标签做出反应。所以你需要做的是为你的活动启用forgraoundDsipatch,在Activity1和Activity3上只是忽略事件,在Activity2上处理被触摸标签的信息。否则,如果您的应用没有接受检测到的标签事件,android调度系统将继续搜索合适的应用程序进行触发,当它找到它时,它将在您的应用程序之上启动它。
有关前台调度的更多信息,请查看此处:http://developer.android.com/guide/topics/nfc/advanced-nfc.html#foreground-dispatch
【讨论】:
仅为您在 Activity2 上感兴趣的 NFC 意图设置一个意图过滤器。以 Android NFC Demo AndroidManifest.xml 为例。
【讨论】: