¿Cómo puedo agregar un contacto mediante programación?
Estoy intentando agregar un contacto de forma programática en Android. Aquí está mi código:
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); int rawContactInsertIndex = ops.size(); ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI) .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE,"Google") .withValue(ContactsContract.RawContacts.ACCOUNT_NAME,"[email protected]") .build()); ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) .withValueBackReference(Data.RAW_CONTACT_ID,rawContactInsertIndex) .withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE) .withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name) .build()); ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, rawContactInsertIndex) .withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE) .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, phone) .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, phoneType) .build()); ops.add(ContentProviderOperation.newInsert(ContactsContract .Data.CONTENT_URI) .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID,rawContactInsertIndex) .withValue(ContactsContract.Data.MIMETYPE,ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE) .withValue(ContactsContract.CommonDataKinds.Email.DATA, email) .withValue(ContactsContract.CommonDataKinds.Email.TYPE, emailType) .build()); try { getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); Context ctx = getApplicationContext(); CharSequence txt = "Contact " + name +" added successfully"; int duration = Toast.LENGTH_LONG; Toast toast = Toast.makeText(ctx, txt, duration); toast.show(); } catch (Exception e) { Toast.makeText(getApplicationContext(),"error",Toast.LENGTH_LONG).show(); }
¿Estoy haciendo esto correctamente? ¿Cómo puedo agregar un nombre de cuenta y un tipo de cuenta?
- Emulador de Android no se ejecuta - Visual Studio 2017
- El emulador de Eclipse se congela
- No puedo usar la cámara en el emulador de genymotion
- Ejecución del emulador de Android en un ordenador con procesador AMD
- Pegar texto en el portapapeles del emulador de Android con el shell de adb
NOTA: No tengo ninguna cuenta creada. ¿Es obligatorio tener una cuenta para agregar un contacto?
- Genymotion Android emulador - acceso adb?
- Cómo adjuntar el emulador de Android a ADB?
- Emulando densidad de 320 dpi en el emulador de Android
- El emulador de Android no puede acceder a Internet
- Android ScrollView agrega un relleno adicional en la parte superior e inferior de la vista de imagen infantil
- Android Studio AVD, CRASH, GRADLE PROBLEMAS, no se puede iniciar
- ¿por qué el botón de menú del emulador muestra todas las actividades de mi aplicación?
- Cómo capturar el tráfico de Genymotion Emulator con WireShark?
Contacto API que almacena el contacto como un contacto invisible: ¿Cómo hacerlo visible? Comprobar esto espero que sea útil!
No hay necesidad de crear ninguna cuenta en el teléfono! … Creo que es una cuenta predeterminada para hacer eso!
Revisa mi publicación acerca de cómo insertar un contacto. Espero eso ayude.
- Cómo obtener mapas renderizados dentro de un CardView
- ¿Cómo puedo incluir dependencias en mi biblioteca de Android?