3

Intent空の NFC タグに使用するフィルターを一致させるのに問題があります。NDEF データでタグを検出できます。しかし、空の NFC タグをタップしても何も起こりません。

以下は私のフィルター部分ですAndroidManifest.xml

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

2 に答える 2

5

nfctechフィルターリストで次のことを行っていることがわかりました。

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

タグは論理積として評価されるため、どのタグとも一致しませんでした。アプリをNFCタグと一致させるために、次のようにタグ用の特定のタグ技術リストを作成しました。

<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-list>
    <tech-list>
        <tech>android.nfc.tech.NfcA</tech>        
    </tech-list>
    <tech-list>
        <tech>android.nfc.tech.Ndef</tech>
    </tech-list>
    <tech-list>
        <tech>android.nfc.tech.MifareUltralight</tech>
    </tech-list>
</resources>

これは、タグと一致します(NfcA AND Ndef AND MifareUltralight) OR NfcA OR Ndef OR MifareUltralight。これが現在この問題で立ち往生している人に役立つことを願っています。

于 2012-07-11T07:20:53.900 に答える
3

<category android:name="android.intent.category.DEFAULT"/>TECH_DISOVERED(およびTAG_DISCOVERED)フィルターに追加する必要があります。それ以外の場合は一致しません。

于 2012-07-10T21:23:32.510 に答える