2012-05-15 71 views
2

我測試使用的是Nexus S.AIR/Android的NFC標籤打開瀏覽器

我的NFC標籤上有,例如樣本網址的啓用NFC的Android/AIR應用程序「http://www.google.com」。

我想捕獲標記上的URL(或任何文本)以供在應用程序中使用。

當標籤被輕敲時,手機將在瀏覽器中打開url。

我想知道是否有我在清單中丟失的東西,或者如果鏈接總是由瀏覽器處理。我查看了docs,我甚至爲特定網址添加了一個計劃,但仍然沒有運氣。

我的清單如下。感謝您的任何意見。

<manifest android:installLocation="auto"> 
    <uses-permission android:name="android.permission.NFC"/> 
    <uses-permission android:name="android.permission.INTERNET"/> 

    <uses-feature android:name="android.hardware.nfc" android:required="true"/> 

    <application android:debuggable="true"> 
     <activity> 
      <intent-filter> 
       <action android:name="android.nfc.action.NDEF_DISCOVERED"/>     
       <data android:mimeType="text/plain" /> 
       <category android:name="android.intent.category.DEFAULT"/> 
      </intent-filter> 

      <intent-filter> 
       <action android:name="android.nfc.action.TAG_DISCOVERED"/>     
       <data android:mimeType="text/plain" /> 
       <category android:name="android.intent.category.DEFAULT"/> 
      </intent-filter> 

      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 
       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 
    </application> 
</manifest> 

回答

2

NFC標籤上的URL與NFC標籤上的純文本信息不同。他們有不同的消息類型。您的清單列出了純文本消息的兩個意圖過濾器(最後一個實際上永遠不會觸發,TAG_DISCOVERED意圖永遠不會包含標記中的任何數據)。 匹配您的樣本網址嘗試,而不是:

<intent-filter> 
    <action android:name="android.nfc.action.NDEF_DISCOVERED"/>     
    <data android:scheme="http" android:host="www.google.com" /> 
    <category android:name="android.intent.category.DEFAULT"/> 
</intent-filter> 

http://developer.android.com/guide/topics/nfc/nfc.html#ndef-disc見的NDEF_DISCOVEREDhttp://developer.android.com/guide/topics/manifest/data-element.html爲的什麼可以在一個<data>元素去完整的文檔更詳細的解釋。

+0

非常感謝。 – shackleton

相關問題