我需要在创建之前显示/与新联系人进行交互,我需要一种简单的方法将其添加到手机通讯录中。
这是我使用的代码:
String contactPhone = "33333333";
Uri contactUri = Uri.parse(String.format("tel: %s", contactPhone));
Intent addContactIntent = new Intent(
ContactsContract.Intents.SHOW_OR_CREATE_CONTACT, contactUri);
addContactIntent.putExtra(ContactsContract.Intents.Insert.NAME, "FirstName" );
addContactIntent.putExtra(ContactsContract.Intents.Insert.COMPANY,"CompanyName");
addContactIntent.putExtra(ContactsContract.Intents.Insert.PHONE,contactPhone);
addContactIntent.putExtra(ContactsContract.Intents.Insert.EMAIL,"contact@email.com");
startActivity(addContactIntent);
这就是结果。问题是Intent只向我显示电话而不是所有添加的信息。
答案 0 :(得分:0)
ContactsContract.Intents.Insert.ACTION如果你想在创建它之前进行交互:
Intent intent = new Intent(ContactsContract.Intents.Insert.ACTION,ContactsContract.Contacts.CONTENT_URI);
intent.putExtra(ContactsContract.Intents.Insert.NAME, getName());
intent.putExtra(ContactsContract.Intents.Insert.COMPANY, getCompany());
intent.putExtra(ContactsContract.Intents.Insert.EMAIL, getEmail());
intent.putExtra(ContactsContract.Intents.Insert.PHONE, getPhone());
intent.putExtra(ContactsContract.Intents.Insert.POSTAL, getAddress());
startActivity(intent);
这非常有效。我希望这会对你有所帮助。
答案 1 :(得分:0)
此网站(http://wiresareobsolete.com/2011/10/simplifying-interaction-with-contacts/)显示并给出示例)SHOW_OR_CREATE_CONTACT只能触发" tel"或者" mailto" /用于搜索的电子邮件。