2013-06-25 48 views
0

我在網上看到的大多數例子都使用帶MIME類型過濾器的TNF_MEDIA_TYPE將NFC啓動的意圖路由到正確的活動。 但我找不到任何合適的方式來捕獲與自定義二進制有效載荷TNF_UNKNOWN NdefMessage。有沒有辦法編寫一個意圖過濾器來捕獲TNF_UNKNOWN NdefMessage?

有什麼建議嗎?

編號:

+0

你可能想避免使用'TNF_UNKNOWN'爲您的應用程序。 「TNF_UNKNOWN」不用於創建NDEF記錄。它意味着作爲從解析中跳過記錄的手段。 –

回答

0

遲到的回答: 我想答案就在這裏:Android NFC tech-list - problem

其實,我現在用的是TNF_UNKNOWN我自己標籤和一切運行良好的Android 4.1.2 但是,當涉及到Android 4.3然後<intent-filter>不起作用。 所以我不得不找到一個正確的過濾器,特別是正確的<tech-list>資源文件。

就我而言,我去這個稍微修改xml文件(黃玉512加):

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

而同樣的清單項:

<intent-filter> 
    <action android:name="android.nfc.action.TECH_DISCOVERED"/> 
</intent-filter> 
<meta-data 
    android:resource="@xml/nfc_tech_filter" 
    android:name="android.nfc.action.TECH_DISCOVERED" /> 
相關問題