2012-03-24 36 views
0

這裏是我的意圖過濾代碼...麻煩攔截NFC意向與我的應用程序

<activity android:name="IntentReceiver"> 
     <intent-filter> 
     <action android:name="android.nfc.action.TAG_DISCOVERED"/> 
     <category android:name="android.intent.category.DEFAULT" /> 

     <data 
      android:scheme="http" 
      android:host="mytix.com" 
      android:pathPattern="/" /> 

     <data 
      android:scheme="http" 
      android:host="www.mytix.com" 
      android:pathPattern="/" /> 

     </intent-filter> 
    </activity> 

我想要做的是攔截其中有一個URL數據類型和URL指向http://mytix.com任何NFC標籤(或http://www.mytix.com)。

但是,上述代碼似乎並沒有工作。相反,我的NFC標籤只是打開瀏覽器並轉到有問題的網址(這是正確的網址!:)我已經檢查過)。

如何攔截意圖?我最終想要的是一個標籤,如果用戶沒有該應用程序,它會將用戶帶到移動網站,但如果他們安裝了應用程序,則會直接轉到應用程序。我相信我是正確的,但上面的代碼由於某種原因不起作用。

我正在通過構建直接從Eclipse的電話btw安裝應用程序 - 這是否有所作爲?

感謝

湯姆

回答

1

我想要做的是攔截其中有一個URL數據類型的任何NFC標籤和URL指向http://mytix.com(或http://www.mytix.com)。

嘗試NDEF_DISCOVERED而不是TAG_DISCOVERED。 Android僅支持像NDEF格式的NFC標籤這樣的直接啓動。如果您的NFC標籤正在使用其他內容,則不能使用AFAIK,而必須自行解析數據。

Here is a book sample project演示如何將URL寫入NDEF格式的標記(通過瀏覽器應用程序中的「共享頁面」選項觸發),並對寫入特定URL的NDEF格式標記進行響應。

+0

謝謝你。出於某種原因,在您的書籍示例項目中將意圖過濾器代碼從您的清單中複製出來的工作非常出色。我已經完成了TAG_DISCOVERED,NDEF_DISCOVERED的每一次迭代 - 每一個動作和類別,各種各樣,但你的工作似乎很好。 – 2012-03-26 13:20:31