2

空のタグの検出に問題があります。空のタグとは、NdefRecord.TNF_EMPTY タイプのレコードを持つ Ndef タグです。私のアプリケーションはすべてのタグで起動されますが、この種のコンテンツに問題があります。

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

Ndefタグが正しく検出されるため、techlistは問題ではないと思いますが、とにかく私のtechlistはこれです

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<tech-list>
    <tech>android.nfc.tech.IsoDep</tech>
</tech-list>
<tech-list>
    <tech>android.nfc.tech.NfcA</tech>
</tech-list>
<tech-list>
    <tech>android.nfc.tech.NfcB</tech>
</tech-list>
<tech-list>
    <tech>android.nfc.tech.NfcF</tech>
</tech-list>
<tech-list>
    <tech>android.nfc.tech.NfcV</tech>
</tech-list>
<tech-list>
    <tech>android.nfc.tech.Ndef</tech>
</tech-list>
<tech-list>
    <tech>android.nfc.tech.NdefFormatable</tech>
</tech-list>
<tech-list>
    <tech>android.nfc.tech.MifareClassic</tech>
</tech-list>
<tech-list>
    <tech>android.nfc.tech.MifareUltralight</tech>
</tech-list>

「NFC タスク ランチャー」および「タグ」アプリケーションは、この種のコンテンツを検出できます。

「TagInfo」アプリがタグをNDEFとして検出

Empty record
type: [NULL]
payload length: 0 bytes

ありがとう。

4

1 に答える 1

2

この問題を何時間もテストした後、解決しましたが、なぜこれが起こっているのかわかりません。

問題は、AndroidManifest.xml のこのコードにあります。

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

に変更しました

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

タグ「meta-data」を外すだけで問題は解決しましたが、なぜですか?

于 2013-02-15T11:54:25.937 に答える