目前我已成功读取标签内容的活动A,但现在我应该能够从活动B中读取另一个标签,两个标签都是plainText但活动A模拟了标签的读取关于歌剧,而活动B必须模拟付款,以便用户在阅读标签时应该已经开展这些活动。
我已经在网上浏览了这个问题,但没有找到任何结果,而且我对nfc的熟练程度还不足以完全解决这个问题。
在此先感谢您的帮助,我不认为代码是必需的,因为它更像是一个理论问题,但我可以提供它。
为了更具体,我使用Mifare Ultralight作为标签。
答案 0 :(得分:0)
最后,我找到了一种管理不同活动的rad标签的方法。
基本上我必须在Activity中实现Foreground Dispatcher,然后从Activity A和Activity B扩展该Activity,所以每个只读取一个标签,如果已经在foregorund上,系统选择器就不会看到它。
答案 1 :(得分:0)
我做了类似的事。有三种类型的NFC标签,如果用户扫描不同的NFC标签,我必须启动我的应用程序的不同活动。我玩了一会儿,但我想出了解决方案:
<activity
android:name=".ui.ProductInfo"
android:label="Product Info:"
android:screenOrientation="portrait">
<intent-filter>
<data android:mimeType="text/sbapp/info" />
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".ui.ShoppingList"
android:label="Shopping List:"
android:screenOrientation="portrait">
<intent-filter>
<data android:mimeType="text/sbapp/buy" />
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
The NFC tags contained the following:
content type:
text / sbapp/buy (instead of text/plain)
data: 34345 (productID)
是的,我创建了一个自定义NFC标签,我用自定义的东西替换了平原。
content type:
text / sbapp/info (instead of text/plain)
data: 34345 (productID)