Подтвердить что ты не робот

Как я могу запустить действие "Добавить контакт" в android

Не могли бы вы рассказать мне, как запустить деятельность Add Contact в Android? Спасибо.

4b9b3361

Ответ 1

Это сообщение может помочь вам или, по крайней мере, указать вам в правильном направлении.

Надеюсь, что это поможет.

Обновление 05/11/2015:

В комментариях посмотрите ответ vickey ниже для соответствующего решения.

Ответ 2

API уровня 5 и выше

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

Ответ 3

Эти две строки делают трюк:

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

Ответ 4

Это должен быть фрагмент, который вы ищете:

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)

Ответ 5

Если у вас нет телефона и вы хотите сохранить его в своем собственном приложении, используйте этот код, чтобы он переместил вас на страницу "создать контакт" контактного приложения по умолчанию.

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

Ответ 6

Я тоже пытался это сделать. Я смог запустить эту работу с помощью Android 2.2. Я даже не пробовал использовать/тестировать это в других версиях 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);

Надеюсь, это поможет.

Ответ 7

Если вам нужно добавить номер телефона к существующему контакту или создать новый (так же, как это делает родной номер с новым номером телефона), этот код может быть именно тем, что вам нужно:

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

Просто взгляните на исходный код Android для класса DialpadFragment, найдите метод getAddToContactIntent(String digits).

Но поскольку класс People устарел в api 10, вы можете использовать эту строку вместо:

intent.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);

Ответ 8

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