2010-06-15 114 views
5

我有聯繫人的姓名,電話號碼和電子郵件信息。我只想爲現有聯繫人插入額外的電子郵件和電話。我的問題是如何在Android 1.6中的現有聯繫人上插入聯繫人信息?

  1. 如何找到聯繫人已存在或不存在?
  2. 如何在額外或次要地址選項上插入值?

在此先感謝。

+0

你應該修改你的問題的描述指向目標設備API級別4 – qrtt1 2010-06-15 15:01:33

回答

8

在正式文件中有新的連接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> 
+0

我的工作在API級別4。但這個API在API層面5.可有沒有其他的如何做到這一點? – Praveen 2010-06-15 14:21:40

+0

使用舊的API: http://wubbahed.com/2007/12/21/android-development-contacts/ – qrtt1 2010-06-15 14:59:10

+0

沒有什麼可以檢查是否檢查聯繫人是否存在。 – Praveen 2010-06-16 11:28:20

相關問題