java - Android on NFC 读取关闭 Activity (不是主要 Activity )

标签 java android nfc

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

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

有谁知道我该怎么做

谢谢你:)

最佳答案

首先,您必须编辑 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 过滤器,以便在检测到标签后调用您的应用:

<intent-filter>
    <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
    <category android:name="android.intent.category.DEFAULT"/>
    <data android:mimeType="text/plain" />
</intent-filter>

这是一个简单的示例,它不一定适用于存储在其上的所有类型的标签和数据。最终,您将不得不进行自己的研究。

现在您只需处理在您的 Activity 中发现的标签。它看起来类似于

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 .第一段要求你做功课。不要指望社区为您编写完整的代码,而您却懒得将问题输入到 google 中。此外,如果这是家庭作业 - 请将其标记为一个。

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

关于java - Android on NFC 读取关闭 Activity (不是主要 Activity ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10848134/

相关文章:

android - 相当于android中的timeIntervalSinceReferenceDate

android - enableForegroundDispatch 和 disableForegroundDispatch 有什么作用?

node.js - 通过 Node.js 与 ACR1252U NFC 读卡器对话

java - 如何使用 Java Sound 缓冲和播放 OGG 文件中的声音数据

java - 使用jtds将android应用程序连接到sql server

java - spring、hibernate、log4j 用于集中错误捕获

java - 如何调用 PaintComponent 方法?

android - Material Design 中介绍的原生 SeekbarPreference

Android startBluetoothSco 不启动 sco 但 isBluetoothScoOn 返回 true

android - 使用 NFC 监听信用卡信息