以联系人应用程序中不可见的新编程添加联系人

时间:2010-05-06 20:20:59

标签: android

我正在Android 1.6中开发应用程序(并且不能使用2.0或更早版本)。

我在手机上添加了一个新联系人,如下所示:

ContentValues contentValues = new ContentValues();
contentValues.put(Contacts.People.NAME, name);

Uri contactUri = this.getContentResolver().insert(Contacts.People.CONTENT_URI, contentValues);

之后,我以同样的方式添加电话号码。它起作用,因为我能够使用以下代码查看新添加的联系人:

Intent intent = new Intent(Intent.ACTION_VIEW, contactUri);
this.startActivity(intent);

我的问题是,在添加和查看新联系人之后,我无法在“联系人”应用程序中看到它,除非我同步了所有联系人(我也搜索了联系人的姓名,发现它,但它不是添加在联系人列表中)。

如何以编程方式更新联系人,以便立即在“联系人”应用程序中添加新联系人?

谢谢!

1 个答案:

答案 0 :(得分:3)

我找到答案:添加新联系人(插入)后,将其添加到myContactsGroup并使用Contacts.People.addToMyContactsGroup() method :

// get new contact id :

int contactId = Integer.valueOf(contactUri.toString().substring(contactUri.toString().lastIndexOf("/")+1));

// add the new contact to myContactsGroup to have it in Contacts Application :

Contacts.People.addToMyContactsGroup(this.getContentResolver(), contactId);
相关问题