【问题标题】:NFC: How can I tell my app to open a vCard instead of Contact app?NFC:如何告诉我的应用打开 vCard 而不是联系人应用?
【发布时间】:2012-10-21 19:09:49
【问题描述】:

我一直很好地使用 NFC,并且对结果非常满意。

我现在的问题是如何处理写在标签上的 vCard?

我已经在 Manifest 中设置了这些行:

    <intent-filter>
        <action android:name="android.nfc.action.NDEF_DISCOVERED" />

        <data android:mimeType="text/vcard" />

        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

但似乎没用:每次我扫描标签时,联系人应用程序都会打开。

非常感谢任何链接或建议!

【问题讨论】:

  • 您是否从“默认启动”中禁用了联系人应用程序,在应用程序中拥有正确的权限,以及您如何验证标签设置是否正确?
  • 1) 我已从联系人应用程序中删除所有默认设置。 2)标签设置正确,因为默认联系人应用程序正确打开。
  • 这似乎有效:
  • 我很想知道实际的 mimeType 编码是什么。

标签: android nfc vcf-vcard


【解决方案1】:

您应该过滤 both text/vcardtext/x-vcard

<intent-filter>
  <action android:name="android.nfc.action.NDEF_DISCOVERED" />
  <category android:name="android.intent.category.DEFAULT" />
  <data android:mimeType="text/vcard" />
  <data android:mimeType="text/x-vcard" />
</intent-filter>

我已经看到两者都被用于 NFC 标签。根据Wikipedia,text/x-vcard 已被弃用。

【讨论】:

  • 这就是我在 23 小时前的回答中所说的,但是谢谢 ;-)
  • 我的意思是您应该过滤两种可能的 mime 类型。我不清楚你的意思。
【解决方案2】:

答案如下:

vCard的mimeType其实是:

文本/x-vcard

问题神奇地解决了。

【讨论】:

    猜你喜欢
    • 2014-04-07
    • 2011-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-31
    • 2014-03-30
    相关资源
    最近更新 更多