我目前正在开发一款用于扫描身份证的应用。基本上我已经完成了所有工作,除了一件事:每当一个Tag接近手机时,无论当前正在运行的其他任何应用程序,我的Activity都会被调用。但是,我希望只有当“活动”告诉用户扫描他的身份证时才能读取标签。
我已经尝试通过在用户启动Activity时设置boolean true而不是扫描的NFC标记,并设置boolean false onPause / onStop来实现此行为,但是这些仍然被调用,一旦标记被扫描使我的尝试无用。
(可以在应用NFC Tools中观察到与我尝试实现的行为类似的行为,其中告知用户将焦点切换到正确的活动以扫描标签。在应用程序外部没有采取任何措施时,在手机附近放置一个标签。)
我很高兴看到您对此主题的看法。
答案 0 :(得分:1)
不要在AndroidManifest.xml中注册intent过滤器,而是使用enableForegroundDispatch
和disableForegroundDispatch
方法。您可以在此处找到更详细的信息:http://developer.android.com/guide/topics/connectivity/nfc/advanced-nfc.html#foreground-dispatch