如何将联系人从电话簿导入我们的应用程序

时间:2011-04-14 11:24:04

标签: android

我正在开发Android应用程序,当用户点击按钮时,它应该显示电话簿中的所有联系人。如何实现它,任何人都可以帮助我。提前谢谢

4 个答案:

答案 0 :(得分:3)

如果您查询ContactsContract.Contacts内容提供商,您将获得联系人列表的光标。

答案 1 :(得分:3)

            Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
            intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
            startActivityForResult(intent, 1);

使用button.setOnClick功能下的这段代码,您将获得电话簿中所有联系人的显示

答案 2 :(得分:2)

给你一些代码:

     ContentResolver cr = getContentResolver();
    Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
    while(cursor.moveToNext()){
    //get name
    int nameFiledColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);
    String contact = cursor.getString(nameFiledColumnIndex);

    String[] PHONES_PROJECTION = new String[] { "_id","display_name","data1","data3"};//
    String contactId = cursor.getString(cursor.getColumnIndex(PhoneLookup._ID));
    Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, PHONES_PROJECTION,
    ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId, null, null);
    //name type ..
    while(phone.moveToNext()) {
        int i = phone.getInt(0);
        String str = phone.getString(1);
        str = phone.getString(2);
        str = phone.getString(3);
        }
        phone.close();
        //addr
        Cursor addrCur = cr.query(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_URI ,
     new String[]{"_id","data1","data2","data3"}, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId , null, null);
        while(addrCur.moveToNext()) {
        int i = addrCur.getInt(0);
        String str = addrCur.getString(1);
        str = addrCur.getString(2);
        str = addrCur.getString(3);
        }
        addrCur.close();

        //email
        Cursor emailCur = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI ,
     new String[]{"_id","data1","data2","data3"}, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + contactId , null, null);
        while(emailCur.moveToNext()) {
        int i = emailCur.getInt(0);
        String str = emailCur.getString(1);
        str = emailCur.getString(2);
        str = emailCur.getString(3);
        }
        emailCur.close();

    }
    cursor.close();

答案 3 :(得分:1)

您可以在button.setonclicklistener中使用此代码。

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