嗨,我正在開發一個使用NFC功能的Android應用程序。在這裏,我嘗試閱讀NFC Mifare nfc標籤。我使用了可用於android api的NFCDemo,但是我沒有成功通過我的應用程序讀取數據。在那個總是閱讀假標籤並僅給出假結果的演示中。如何在Android中讀取NFC標籤?
我有一個清單文件意圖過濾器混淆。在我的演示應用程序是這樣的
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.nfc"
>
<uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
>
<activity android:name=".simulator.FakeTagsActivity"
android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="TagViewer"
android:theme="@android:style/Theme.NoTitleBar"
>
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="9" />
<uses-feature android:name="android.hardware.nfc" android:required="true" />
</manifest>
和應用程序總是與FakeTagsActivity活動開始我們點擊假標籤的任何一個假tags.When的任何顯示列表會重定向到與不假數據TagViewer活動真實的標籤數據。 我TagViewer活動有太多的困惑也就是resolveIntent(意向意圖)總是處理
if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(action)) {}
,但我不理解什麼錯與此有關。 請指教我是否需要修改api演示以閱讀真實標籤數據。或者建議我有沒有其他方法可以讀取nfc標籤。
我已經嘗試過This Sample 但不能完全幫助我。 請幫幫我。提前致謝。
當你說「不工作」,你想在真實設備上?您確定該設備具有NFC硬件支持嗎? – 2012-04-03 08:47:29
是的,我嘗試過三星Verizon 4G設備。它具有NFC功能。 – 2012-04-03 09:37:33
NFCDemo應用程序真的過時了,我不會用它來構建。但是,讓我們先嚐試找出問題。你在說,當你點擊其中一個假標籤時,它會使用假數據進入TagView活動。這是預料之中的。你實際上在什麼時候掃描了你的標籤?當你這樣做時,我沒有聽到你的問題。 – robertly 2012-04-03 21:41:49