2010-06-15 7 views
5

연락처의 이름, 전화 번호 및 전자 메일 주소가 있습니다. 기존 연락처에 추가 이메일과 전화 번호를 삽입하기 만하면됩니다. 제 질문은Android 1.6의 기존 연락처에 연락처 정보를 삽입하는 방법은 무엇입니까?

  1. 연락처가 이미 있는지 여부는 어떻게 알 수 있습니까?
  2. 추가 또는 보조 주소 옵션에 값을 삽입하는 방법은 무엇입니까?

미리 감사드립니다.

+0

당신이 장치를 대상으로 가리키는 문제 설명을 수정해야하는 것은 다른 API 레벨 4 – qrtt1

답변

8

공식 문서에는 새로운 contancts 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 수준 5. 볼이 API가된다 그것을하는 방법? – Praveen

+0

이전 API ()를 사용하십시오. http://wubbahed.com/2007/12/21/android-development-contacts/ – qrtt1

+0

연락처가 존재하는지 여부를 확인할 필요가 없습니다. – Praveen

관련 문제