NFC上的Android读取关闭活动(不是主要活动)

时间:2012-06-01 09:55:54

标签: java android nfc

有没有人知道如何做到这一点:

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

有没有人知道我怎么能这样做

谢谢:)

1 个答案:

答案 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 - 您可在此处找到完成任务所需的所有信息。