2010-06-15 7 views

Odpowiedz

8

W oficjalnym dokumencie ma nowe API api.

http://developer.android.com/reference/android/provider/ContactsContract.Data.html

pierwsze, look up surowego kontaktów tożsamości ze swoimi kryteriami, takimi jak nazwisko:

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(); 

drugie, należy rawContactId dodać wpis do kontaktów:

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 . nie zapomnij uprawnienia:

<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission> 
<uses-permission android:name="android.permission.WRITE_CONTACTS"></uses-permission> 
+0

pracuję nad API Level 4. Ale to API dostępne na poziomie API 5. jest każda inna sposób to zrobić? – Praveen

+0

użyj starego api: http://wubbahed.com/2007/12/21/android-development-contacts/ – qrtt1

+0

nie ma nic do sprawdzenia, czy sprawdzić, czy kontakt istnieje, czy nie. – Praveen

Powiązane problemy