2010-06-15 27 views
5

Tengo el nombre, el número de teléfono y la información de un contacto por correo electrónico. Solo quiero insertar el correo electrónico y el teléfono adicionales para el contacto existente. Mis preguntas son¿Cómo insertar la información de contacto en el contacto existente en Android 1.6?

  1. ¿Cómo encontrar el contacto ya existe o no?
  2. ¿Cómo insertar los valores en la opción de dirección adicional o secundaria?

Gracias de antemano.

+0

debe modificar la descripción del problema señalando en equipo de destino es la API de nivel 4. – qrtt1

Respuesta

8

En el documento oficial tiene nuevos avisos api.

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

En primer lugar, buscar contactos prima id con sus criterios, tales como nombre:

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

En segundo lugar, utilizar rawContactId para añadir una entrada a los contactos:

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 . no se olvide de los permisos:

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

estoy trabajando en la API de nivel 4. Pero disponibles en el nivel API 5. Esta API se hay alguna otra forma de hacerlo? – Praveen

+0

utilice la API anterior: http://wubbahed.com/2007/12/21/android-development-contacts/ – qrtt1

+0

no hay nada que verifique si comprobar que un contacto existe o no. – Praveen

Cuestiones relacionadas