【问题标题】:How to beam a contact from you app (using NFC) and save it in contact list on receiving device?如何从您的应用程序发送联系人(使用 NFC)并将其保存在接收设备的联系人列表中?
【发布时间】:2012-11-21 15:48:36
【问题描述】:

您如何使用自己的应用(以及使用 Android Beam)将联系人发送到另一台设备,并将其保存在他们的联系人列表中(即默认联系人应用)。发送设备上的联系人将由ContactsContract 提供商提供。

最好我不想让其他设备运行我的应用程序。内置联系人应用(Android 的默认应用)可以beam and receive contacts。因此,应该可以使用自定义应用将联系人发送到内置联系人应用。

answers to this question 表明这是可能的,并且您可以使用 VCARD 格式。

目前,我的应用程序将通过电话号码搜索联系人,然后将其显示在一个新的活动中(这是内置的联系人应用程序)。见下文。

Uri uri = Uri.fromParts("tel", number.getText().toString(), "");
Log.d("ContactPicker", uri.toString());
startActivity(new Intent(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT, uri));

// Example log message for the number (123)-123-1234 is "tel:(123)%20123-1234"

我更喜欢这样做,但我认为这是不可能的,因为我无法返回找到的联系人(或者如果没有找到现有联系人则创建的联系人)。如果我想发送该特定联系人,我需要这些信息。

我可能需要查询所有联系人,找到我要查找的联系人并保存其 ID。

注意:我使用的是 API 14


编辑

我制作了一个概念验证应用程序:https://github.com/dideler/HiFive

应用程序可能有问题。它没有维护,但欢迎请求请求。

【问题讨论】:

  • 好问题!我对这是否可能感兴趣:)

标签: android nfc android-contacts contactscontract android-beam


【解决方案1】:

是的,vCard 是要走的路。这是内置联系人/联系人应用程序将采用的格式。这也是应用程序用来存储自己数据的格式,我相信。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-12
  • 2011-12-29
  • 1970-01-01
  • 2018-12-06
相关资源
最近更新 更多