有没有人知道如何做到这一点:
让我们说,我们有一个有3个活动的应用程序。活动2有按钮,打开简单活动3(onClick),活动3显示类似“触摸NFC”的内容。当我触摸NFC标签时,我还需要立即完成活动3。
有没有人知道我怎么能这样做
谢谢:)
答案 0 :(得分:0)
首先,您必须编辑AndroidManifest.xml。你应该添加
<uses-permission android:name="android.permission.NFC" />
<uses-sdk android:minSdkVersion="10"/>
<uses-feature android:name="android.hardware.nfc" android:required="true" />
确保您的应用具有NFC权限,并且不会安装在缺少NFC硬件的设备上。
接下来,您应该添加意图过滤器,以便在检测到标记后调用您的应用程序:
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain" />
</intent-filter>
这是一个简单的例子,它不一定适用于存储在其上的每种类型的标签和数据。最终,你必须自己做研究。
现在您只需要处理活动中发现的标记。它看起来类似于
public void onResume() {
super.onResume();
if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction()))
activity.finish() //you wanted to close an activity, right?
你在这里放什么取决于你想做什么。稍微解决问题,玩它,然后做你需要做的事。
旁注 - 请阅读SO常见问题和https://stackoverflow.com/questions/how-to-ask。第一段要求你做功课。不要指望社区为您编写整个代码,而您甚至不愿意将您的问题输入谷歌。此外,如果这是家庭作业 - 请将其标记为一个。
如需进一步阅读:http://developer.android.com/guide/topics/connectivity/nfc/nfc.html - 您可在此处找到完成任务所需的所有信息。