如何使用您自己的应用(并使用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
该应用可能是错误的。它没有得到维护,但欢迎拉取请求。
答案 0 :(得分:2)
是的,vCard是要走的路。这是内置的Contacts / People应用程序将采用的格式。它也是应用程序用来存储自己数据的格式,我相信。