AIR / Android NFC标签正在打开浏览器

时间:2012-05-15 20:41:22

标签: android flash air nfc

我正在使用Nexus S测试支持NFC的Android / AIR应用程序。

我的NFC标签上有一个示例网址,例如“http://www.google.com”。

我想捕获标记上的网址(或任何文字),以便在应用中使用。

点按标签后,手机会在浏览器中打开网址。

我想知道我的清单中是否有某些东西丢失,或者链接总是由浏览器处理。我查看了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>

1 个答案:

答案 0 :(得分:2)

NFC标签上的URL与NFC标签上的纯文本消息不同。他们有不同的消息类型。您的清单列出了明文消息的2个意图过滤器(最后一个实际上永远不会被触发,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>元素内容的完整文档。