当前位置: 首页 > 知识库问答 >
问题:

对于ACTION_NDEF_DISCOVERED动作,即使它包含Ndef数据,也不会发现NFC标签

胡野
2023-03-14

当我尝试使用action_ndef_discoveredintent使用数据类型“*/*”读取标记时,第一个标记很好地被发现,但第二个标记根本没有被发现。

共有1个答案

钱志强
2023-03-14

这里的问题是ndef_discovered意图筛选器是如何工作的。使用ndef_discovered可以监视某个数据类型(即MIME类型)或某个URI。在所有情况下,匹配将应用于一个已发现标记的NDEF消息中的第一条记录。

通过数据类型匹配,您可以检测

  • 包含给定MIME媒体类型的MIME类型记录或
  • 具有映射到MIME类型“Text/plain”的文本RTD记录(TNF_WELL_KNOWN+RTD_TEXT)。
    null

匹配数据类型:

>

  • 在清单中:

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

    代码中:

    IntentFilter ndef = new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED);
    ndef.addDataType("some/mimetype");
    
    <intent-filter>
        <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <data android:scheme="http"
              android:host="somehost.example.com"
              android:pathPrefix="/somepath" />
    </intent-filter>
    
    IntentFilter ndef = new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED);
    ndef.addDataScheme("http");
    ndef.addDataAuthority("somehost.example.com", null);
    ndef.addDataPath("/somepath", PatternMatcher.PATTERN_PREFIX);
    
    <intent-filter>
        <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <data android:scheme="vnd.android.nfc"
              android:host="ext"
              android:pathPrefix="/com.example:sometype" />
    </intent-filter>
    
    IntentFilter ndef = new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED);
    ndef.addDataScheme("vnd.android.nfc");
    ndef.addDataAuthority("ext", null);
    ndef.addDataPath("/com.example:sometype", PatternMatcher.PATTERN_PREFIX);
    

  •  类似资料:
    • 即使运行包含失败,也不会生成testng-failed.xml。 我使用的是Eclipse版本:2019-06(4.12.0)构建id:20190614-1200 Testng 7.0.0 这在以前会产生一些时间,我们使用它来重新运行失败的测试。但是,我不知道为什么即使存在错误,现在也没有产生这种情况。 有没有什么具体的原因,它不会产生?

    • 我有一个应用程序可以读取一个NDEF标签,没什么大不了的:-) 我找到了这个链接:如何发现NFC标签是否还在Android的范围内?什么是一个开始,但我不知道如何更新标签。 我很挣扎,我甚至不知道我尝试做的事情在技术上是否可行。 有没有人知道怎么做的?干杯 对不起,我试着看了一些教程和例子,但我还是不明白。 这是我的全部密码。读取标签需要长得多的时间,有时并不需要。我不知道如何和在哪里更新标签,以

    • 问题内容: 我已经实现了通过低级通信方法与NTAG216进行交互的代码(紧随NTAG212 Mifare Ultralight withAuthentication和NTAG216的数据表之后)。 到目前为止,我取得了以下成就: 如果未设置密码或新标签/空白标签,请在NTAG216上设置密码写保护。 如果已设置密码,请使用PWD_AUTH并比较PACK进行身份验证。 读取数据。 写入/覆盖数据。

    • 我已经实现了通过低级通信方法与NTAG216交互的代码(遵循NTAG212 Mifare Ultralight与身份验证和NTAG216的数据表)。 如果未设置或如果新/空白标签,请在NTAG216上设置密码写入保护。 如果已设置密码,请使用PWD_AUTH并比较PACK进行身份验证。 读取数据。 写入/覆盖数据。 检测我在其他应用程序中写入标签的NDEF消息。换句话说,我可以使用方法写入标签,也

    • 如何将NDEF消息写入NFC标记?我必须更改清单文件吗?到目前为止,我有生成NDEF消息的代码: 如何发现标签?有人能帮我吗?

    • 我正在运行一个简单的程序,使JDBC与MySQL连接。我正在使用5.0.8连接器jar(mysql驱动程序)。当我读到JDBC4服务机制时,我们不需要调用来注册驱动程序。我正在尝试没有它。 还尝试使用mysql-connector-java-8.0.12.jar