Я использую старый API контактов для выбора контакта с номером телефона. Я хочу использовать новый API ContactsContracts. Я хочу...
- ... диалоговое окно со всеми контактами, имеющими номера телефонов.
- ... пользователь может выбрать контакт и один из своих телефонных номеров.
- ... доступ к выбранному номеру телефона.
Контакты Contacts очень сложны. Я нашел много примеров, но ни один из них не соответствовал моим потребностям. Я не хочу выбирать контакт, а затем запрашивать контактные данные, потому что это даст мне список их телефонных номеров. Мне нужен пользователь, чтобы выбрать ОДИН из контактных телефонов. Я не хочу писать свои собственные диалоги для отображения контактов или для того, чтобы пользователь мог выбрать номер телефона. Есть ли простой способ получить то, что я хочу?
Вот старый код API, который я использую:
static public final int CONTACT = 0;
...
Intent intent = new Intent(Intent.ACTION_PICK, Contacts.Phones.CONTENT_URI);
startActivityForResult(intent, CONTACT);
...
public void onActivityResult (int requestCode, int resultCode, Intent intent) {
if (resultCode != Activity.RESULT_OK || requestCode != CONTACT) return;
Cursor c = managedQuery(intent.getData(), null, null, null, null);
if (c.moveToFirst()) {
String phone = c.getString(c.getColumnIndexOrThrow(Contacts.Phones.NUMBER));
// yay
}
}