我希望读取用户在后台检测到的任何标签的ID,而不是在我的应用程序中实际打开一个活动。我目前拥有的是TECH_DISCOVERED在MainActivity中的意图过滤器:
<intent-filter>
<action android:name="android.nfc.action.TECH_DISCOVERED"/>
</intent-filter>
<meta-data android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/nfc_tech_filter" />
其中nfc_tech_filter.xml
定义了我想要的所有技术。它按预期工作,活动要么直接打开,要么要求用户在不同的应用程序之间进行选择。是否有可能在没有任何用户交互的情况下获得有关标签的有限数据(如ID )?
发布于 2021-07-26 08:28:03
实际上,NFC的安全模型是NFC只在前台处理,这与这样的逻辑相匹配:如果用户已经将NFC标记带到了范围内,那么他们期望与NFC进行某种交互,并且应用程序必须位于前台。
启动所谓的“后台服务”有多种不同的方式,它们都有局限性,它们仍然可能被系统所阻止,谷歌也随着时间的推移改变了所支持的内容,Android 8中也出现了大量的变化。
处理NFC的android代码有各种检查,以确保NFC只由前台应用程序处理。
https://stackoverflow.com/questions/68513213
复制相似问题