gpt4 book ai didi

java - 如何使用 Android 发现任何 NFC 技术(不仅是标签)?

转载 作者:行者123 更新时间:2023-11-29 22:12:01 26 4
gpt4 key购买 nike

我正在用 Java 为我的 Android 2.3 Nexus S 设备编码。我在寻找最近购买的 NFC 读取器/写入器时遇到了问题。在我的 list 文件中,我正在使用

<intent-filter>
<action android:name="android.nfc.action.TECH_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<meta-data android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/nfc_tech_filter" />

我想要做的就是发现某种 NFC 技术已经存在/可用。当我将手机靠近 NFC 读取器/写入器时,我可以看到日志记录了带有“dalvikm”和“AudioHardware”标签的某种事件。但出于某种原因, Intent 不会启动我的 Activity 。我的应用程序是唯一具有 NFC 功能的应用程序 - 检查我的默认值等以确保。在我的 Activity 中,我只是简单地使用基本布局和 onCreate 方法:

@Override
public void onNewIntent(Intent intent) {
// TODO
Toast.makeText(this, "NFC TECH DISCOVERED!", Toast.LENGTH_LONG).show();
}

我预计 Activity 至少会启动。任何想法为什么这不是?也许是因为我一直在 NFC 阅读器上挥动这个,而不是我已经成功找到的实际 NFC 标签。我想我不确定为什么应用程序不会至少确认周围有支持 NFC 的设备。

资源文件包含:

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<tech-list>
<tech>android.nfc.tech.NfcA</tech>
<tech>android.nfc.tech.Ndef</tech>
<tech>android.nfc.tech.MifareUltralight</tech>
<tech>android.nfc.tech.NfcA</tech>
<tech>android.nfc.tech.IsoDep</tech>
<tech>android.nfc.tech.NdefFormatable</tech>
</tech-list>
</resources>

最佳答案

在“android.nfc.action.TECH_DISCOVERED”中,TECH 并不意味着 NFC 设备,它指的是 NFC 标签上的技术,即。 MifareClassic、UltraLight 等。因此它不会识别您的读写器,因为它不是标签。

我认为您在尝试让桌面 NFC 读取器/写入器与 Nexus 通信时会遇到很多麻烦,因为 Nexus 不能在不安装自定义 ROM 的情况下充当标签,因此它不是能够读取或写入,并且大多数桌面阅读器也不能充当标签,因此无法读取或写入它们。也许您可以进行一些 p2p 通信,但我仍然认为这需要大量工作。

您有哪种 NFC 读写器?

关于java - 如何使用 Android 发现任何 NFC 技术(不仅是标签)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9399383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com