Agregar varios contactos en lote

Soy perfectamente capaz de agregar contactos uno por uno con el código siguiente:

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); ops.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI) .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null) .withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null).build()); ops.add(ContentProviderOperation .newInsert(Data.CONTENT_URI) .withValueBackReference(Data.RAW_CONTACT_ID, 0) .withValue(Data.MIMETYPE, CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE) .withValue(StructuredName.GIVEN_NAME, "Hello") .withValue(StructuredName.FAMILY_NAME, "World").build()); try { getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); } catch (RemoteException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (OperationApplicationException e) { // TODO Auto-generated catch block e.printStackTrace(); } 

Sin embargo, cuando intento agregar cerca de 500 contactos uno por uno – toma pocos minutos, que es demasiado largo para mi app. ¿Es la manera más rápida de agregar varios contactos?

2 Solutions collect form web for “Agregar varios contactos en lote”

¿Por qué no hacer que el arraylist un global que se puede acceder desde cualquier actividad que no insertaría mucho en un paquete como hay más en marcha cuando lo hace, sólo estaba destinado a pasar información de pequeñas cantidades. Lo haría así, asegurándome de llamar esto también en el manifiesto.

 public class MyStates extends Application { private ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); public ArrayList getList() { return this.blueToothAdapter; } public void setList(ArrayList<ContentProviderOperation> o) { this.ops= o; } 

Puede utilizar la misma función que está utilizando para agregar varios contactos en una sola operación por lotes realizando pequeñas modificaciones.

Puede agregar hasta 500 operaciones a una sola operación por lotes, puede seguir incluyendo la referencia posterior en la operación URI de datos con el índice correspondiente de la operación de inserción raw_contacts.

  • ¿Cómo obtengo espacios pequeños como separador de números en Android?
  • NullPointerException al configurar la barra de herramientas
  • Mejor manera de incluir el código de depuración?
  • Clases internas: Android vs Java
  • Android en el Listener de cambio de texto
  • Imágenes de pequeño tamaño, alta resolución
  • Diferentes claves públicas RSA generadas en Android
  • Tcp conexión otro dispositivo android, basado en # teléfono en lugar de IP?
  • Android - perfil de un hilo específico (UI Thread) a través de DDMS
  • ¿Hay una manera de obtener la cuenta de los métodos numéricos utilizados en un archivo jar
  • Youtube API v3 buscar videos, recuperar el título y url
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.