2

有谁知道如何做到这一点:

可以说,我们有一个包含 3 个活动的应用程序。Activity 2 有按钮,可以打开简单的 Activity 3(onClick),而 Activity 3 显示类似“Touch NFC”的内容。当我触摸 NFC 标签时,我还需要立即完成活动 3。

有谁知道我该怎么做

谢谢 :)

4

1 回答 1

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 FAQ 和https://stackoverflow.com/questions/how-to-ask。第一段要求你做功课。不要指望社区会为您编写整个代码,而您甚至都懒得在谷歌中输入您的问题。此外,如果这是一项家庭作业 - 请将其标记为一项。

如需进一步阅读: http: //developer.android.com/guide/topics/connectivity/nfc/nfc.html - 在这里您可以找到完成任务所需的所有信息。

于 2012-09-12T09:39:47.943 回答