意图与电话号码的联系人

时间:2012-08-23 20:29:23

标签: android android-intent contacts android-contacts

请问,是否可以使用意图和默认联系人应用程序从联系人中选择电话号码?

可能会对此进行一些修改(显示所有联系人的选择):

Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, CONTACT_PICKER_ID);

2 个答案:

答案 0 :(得分:7)

Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE);
startActivityForResult(intent, 1);

答案 1 :(得分:3)

您可以在联系人上打开光标并通过电话号码获取联系人。您可以使用此光标重新创建从您提到的意图中显示的联系人选择器活动(将它们放入列表视图中进行选择)

        ContentResolver cr = getContentResolver();
        Cursor phoneCur = cr.query( 
                ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
                null,
                null, 
                null, 
                null); 
        while (phoneCur.moveToNext()) { 
            String phone = phoneCur.getString(
                      phoneCur.getColumnIndex(
                              ContactsContract.CommonDataKinds.Phone.DATA));
            //do something, check if empty...
        } 
        phoneCur.close();

使用此方法,您还需要清单中的阅读联系人权限

<uses-permission android:name="android.permission.READ_CONTACTS"/>