我正在使用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>
答案 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_DISCOVERED
和http://developer.android.com/guide/topics/manifest/data-element.html的更详细说明,以获取有关<data>
元素内容的完整文档。