¿Cómo puedo iniciar la actividad ‘Agregar contacto’ en Android

¿Puedes decirme cómo iniciar la actividad Agregar contacto en Android? Gracias.

Esta publicación puede ayudarte o al menos señalarte en la dirección correcta.

Espero que esto ayude.

Actualización 05/11/2015:

Por los comentarios, consulte la respuesta de vickey a continuación para la solución adecuada.

Solución API de nivel 5 y superior

// Add listener so your activity gets called back upon completion of action, // in this case with ability to get handle to newly added contact myActivity.addActivityListener(someActivityListener); Intent intent = new Intent(Intent.ACTION_INSERT); intent.setType(ContactsContract.Contacts.CONTENT_TYPE); // Just two examples of information you can send to pre-fill out data for the // user. See android.provider.ContactsContract.Intents.Insert for the complete // list. intent.putExtra(ContactsContract.Intents.Insert.NAME, "some Contact Name"); intent.putExtra(ContactsContract.Intents.Insert.PHONE, "some Phone Number"); // Send with it a unique request code, so when you get called back, you can // check to make sure it is from the intent you launched (ideally should be // some public static final so receiver can check against it) int PICK_CONTACT = 100; myActivity.startActivityForResult(intent, PICK_CONTACT); 

Estas dos líneas hacen el truco:

  Intent intent = new Intent(Intent.ACTION_INSERT, ContactsContract.Contacts.CONTENT_URI); startActivity(intent); 

Este debería ser el fragmento que está buscando:

 Intent addContactIntent = new Intent(Contacts.Intents.Insert.ACTION, Contacts.People.CONTENT_URI); addContactIntent.putExtra(Contacts.Intents.Insert.NAME, "Jean-Claude"); // an example, there is other data available startActivity(addContactIntent) 

Si tiene un teléfono no y desea guardarlo en su propia aplicación, entonces use este código, lo moverá a la página “crear contacto” de la aplicación de contacto predeterminada.

  Intent addContactIntent = new Intent(Intent.ACTION_INSERT); addContactIntent.setType(ContactsContract.Contacts.CONTENT_TYPE); addContactIntent.putExtra(ContactsContract.Intents.Insert.PHONE,phnno.getText().toString()); startActivity(addContactIntent); 

Yo también estaba tratando de hacer esto. Pude iniciar la actividad con Android 2.2. Aunque no he intentado usar / probar esto en otras versiones de SDK.

 Intent intent = new Intent(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT, Uri.parse("tel:" + currentNum.getText())); //currentNum is my TextView, you can replace it with the number directly such as Uri.parse("tel:1293827") intent.putExtra(ContactsContract.Intents.EXTRA_FORCE_CREATE, true); //skips the dialog box that asks the user to confirm creation of contacts startActivity(intent); 

Espero que esto pueda ayudar.

Si necesita agregar un número de teléfono a un contacto existente o crear uno nuevo (tal como lo hace el marcador nativo con un nuevo número de teléfono), este código podría ser justo lo que necesita:

 final Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT); intent.putExtra(Insert.PHONE, digits); intent.setType(People.CONTENT_ITEM_TYPE); startActivity(intent); 

Solo eche un vistazo al código fuente de Android para la clase DialpadFragment , busque el método getAddToContactIntent(String digits) .

Pero como la clase People está obsoleta en api 10, puede usar esta línea:

 intent.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE); 
 Intent localintent = new Intent("android.intent.action.INSERT",ContactsContract.Contacts.CONTENT_URI); localintent.putExtra("phone", phoneNumber); startActivity(localintent);