Android 如何从emulator访问联系人

Android 如何从emulator访问联系人,android,Android,我想将android emulator中保存的联系人显示到我的应用程序中。联系人列表应显示如名字、姓氏等。我想为所有字段创建单独的列表。请帮助我。提前谢谢。您好,请尝试下面给出的代码。它将获取emulator中可用的联系人,然后您可以创建一个列表视图来显示可用的联系人 people = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null); int position=0;

我想将android emulator中保存的联系人显示到我的应用程序中。联系人列表应显示如名字、姓氏等。我想为所有字段创建单独的列表。请帮助我。提前谢谢。

您好,请尝试下面给出的代码。它将获取emulator中可用的联系人,然后您可以创建一个列表视图来显示可用的联系人

people = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
int position=0;
Cursor q=db.query(mProfile,new String[]{"person_name"},"person_name"+"!='"+null+"'",null,null, null, null);
people.moveToFirst();
int nameFieldColumnIndex = people.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);    
    while(!people.isAfterLast()) {
        Cursor o=db.query(mProfile,new String[]{"person_name"},"person_name"+"='"+people.getString(nameFieldColumnIndex)+"'",null,null, null, null);
        if(!(o.getCount()>0))
        {  
        mConname.add(position, people.getString(nameFieldColumnIndex));
        try{
            String contactId = people.getString(people.getColumnIndex(ContactsContract.Contacts._ID));
            String hasPhone = people.getString(people.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER));
            if ( hasPhone.equalsIgnoreCase("1"))
                hasPhone = "true";
            else
                hasPhone = "false" ;
            if (Boolean.parseBoolean(hasPhone)) 
            {
                Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ contactId,null, null);
                while (phones.moveToNext()) 
                {
                    String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                    mConno.add(position,phoneNumber);

                }
                phones.close(); 
            }   
            if(hasPhone=="false")
            {   mConname.remove(position);
            }   
            else
                position++;
        }       
        catch(Exception e)
        { 

        }
    }
        people.moveToNext();
    }
也可以通过本教程()你可以有一个清晰的想法。。 另请查看本教程()

可能重复的