如何在Android 1.6中的现有联系人上插入联系人信息?
问题描述:
我有联系人的姓名,电话号码和电子邮件信息。我只想为现有联系人插入额外的电子邮件和电话。我的问题是如何在Android 1.6中的现有联系人上插入联系人信息?
- 如何找到联系人已存在或不存在?
- 如何在额外或次要地址选项上插入值?
在此先感谢。
答
在正式文件中有新的连接api。
http://developer.android.com/reference/android/provider/ContactsContract.Data.html
首先,查找原料接触ID与你的标准,如名称:
final String name = "reader";
// find "reader"'s contact
String select = String.format("%s=? AND %s='%s'",
Data.DISPLAY_NAME, Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
String[] project = new String[] { Data.RAW_CONTACT_ID };
Cursor c = getContentResolver().query(
Data.CONTENT_URI, project, select, new String[] { name }, null);
long rawContactId = -1;
if(c.moveToFirst()){
rawContactId = c.getLong(c.getColumnIndex(Data.RAW_CONTACT_ID));
}
c.close();
二,使用rawContactId一个条目添加到联系人:
ContentValues values = new ContentValues();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
values.put(Phone.NUMBER, "1-800-GOOG-411");
values.put(Phone.TYPE, Phone.TYPE_CUSTOM);
values.put(Phone.LABEL, "free directory assistance");
Uri dataUri = getContentResolver().insert(Data.CONTENT_URI, values);
PS 。不要忘了权限:
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission>
你应该修改你的问题的描述指向目标设备API级别4 – qrtt1 2010-06-15 15:01:33