Agregar nuevo contacto mediante la intención con varios números de teléfono
Quiero agregar un nuevo contacto usando ContactsContract.Intents.Insert
. Pero el problema es que no sé cuántos números de teléfono pueden ser. Y como entiendo que puedo pasar sólo tres números de teléfono utilizando PHONE
, SECONDARY_PHONE
, TERTIARY_PHONE
constantes. ¿Hay alguna manera de pasar más de tres números?
- Iniciar IntentService de Actividad y actualizar Actividad cuando IntentService finaliza
- Android lanza la intención de Twitter
- ¿Cómo interceptar una intención de Google Maps en Android?
- Actividad Propósito Permiso Android M SDK 23
- Formato de grabación de vídeo (.3gp o mp4) en android?
- Actividad.finishAffinity () vs Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK
- La intención de Android de ver un elemento utilizando la aplicación de Amazon en el dispositivo en lugar del navegador
- Un diseño relativo simple, alinear con el derecho de los padres no funciona
- Intención de abrir la configuración Wi-Fi Direct
- ¿Cómo compartir contenido / datos a través de otras aplicaciones en una aplicación de iOS como lo hacemos en una aplicación de Android con Intent.ACTION_SEND?
- Incapaz de crear servicio java.lang.NullPointerException
- Espresso: ¿Cómo puedo probar que la actividad finalizó con el resultado RESULT_OK
- Problema con actividad cancelada por el sistema si ya no es visible en Android
Encontré una solución. Consiste en utilizar ContentValues:
Intent intent = new Intent(Intent.ACTION_INSERT); intent.setType(ContactsContract.Contacts.CONTENT_TYPE); ArrayList<ContentValues> data = new ArrayList<ContentValues>(); //Filling data with phone numbers for (int i = 0; i < numberOfPhones; i++) { ContentValues row = new ContentValues(); row.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE); row.put(Phone.NUMBER, PhonesNumberList.get(i)); row.put(Phone.TYPE, Phone.TYPE_WORK); data.add(row); } contactIntent.putExtra(ContactsContract.Intents.Insert.NAME, mName); contactIntent.putParcelableArrayListExtra(ContactsContract.Intents.Insert.DATA, data); startActivity(contactIntent);
Extienda la respuesta de Ov3r1oad con el correo electrónico:
ContentValues row = new ContentValues(); row.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE); row.put(ContactsContract.CommonDataKinds.Email.ADDRESS, emailAddress); row.put(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_WORK); data.add(row);
- ¿Cómo mterp (Dalvik VM) organiza su bucle de interpretación de bytes?
- Cómo suspender y reanudar los hilos en android?