`

获得联系人

 
阅读更多
 String contactId ;
    private List<PeopleInfo> getContactsInfo(){
    	List<PeopleInfo> list = new ArrayList<PeopleInfo>();
    	//得到ContentResolver对象
        ContentResolver cr = getContentResolver();
        //取得电话本中开始一项的光标
        Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
        PeopleInfo peopleInfo ;
        
        //向下移动光标
        while(cursor.moveToNext())
        {
            //取得联系人名字
            int nameFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);
            String contact = cursor.getString(nameFieldColumnIndex);
            
            peopleInfo = new PeopleInfo();
           
            
            //取得电话号码
            contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
            Cursor phone = cr.query(Phone.CONTENT_URI, null, Phone.CONTACT_ID + "=" + contactId, null, null);
            
            while(phone.moveToNext())
            {
                String PhoneNumber = phone.getString(phone.getColumnIndex(Phone.NUMBER));
                phoneString += ( PhoneNumber + "\n");
                peopleInfo.setPhone(phoneString);
            }
            phone.close();
            
            //获取联系人email         
            Cursor emails = cr.query(ContactsContract.CommonDataKinds.Email.CONTENT_URI, 
            		null,                
            		ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = " + contactId,                  
            		null, null);         
            while (emails.moveToNext()) {
            	String email = emails.getString(emails.getColumnIndex(Email.DATA));
            	Log.d("test", email +  "| " );
            	contact = contact+ "\n" + email;
            }
            peopleInfo.setName(contact);
            emails.close();
            
            phoneString = "" ;
            list.add(peopleInfo);
        }
        
        cursor.close();
        
        return  list ;
    }

 获得联系人信息2、

 

 private void getContacts(){
    	//得到ContentResolver对象
        ContentResolver cr = getContentResolver();
        //取得电话本中开始一项的光标
        Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
        PeopleInfo peopleInfo ;
        
        //向下移动光标
        while(cursor.moveToNext())
        {
            //取得联系人名字
            int nameFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);
            String contact = cursor.getString(nameFieldColumnIndex);
            
            peopleInfo = new PeopleInfo();
            peopleInfo.setName(contact);
            
            //取得电话号码
            String ContactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
            Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, 
            			      ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + ContactId, null, null);
            
            while(phone.moveToNext())
            {
                String PhoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                phoneString += ( PhoneNumber + "\n");
                peopleInfo.setPhone(phoneString);
            }
            phoneString = "" ;
            list.add(peopleInfo);
        }
        
        cursor.close();
        
    }

 获得联系人 3 、

 

public List<PeopleInfo> getContact( ) {
		List<PeopleInfo> list = new ArrayList<PeopleInfo>();
		//得到ContentResolver对象
        ContentResolver cr = getContentResolver();
		// 获得所有的联系人
		Cursor cur = cr.query(
				ContactsContract.Contacts.CONTENT_URI, null, null , null, null);
		// 循环遍历
		if (cur!=null&&cur.moveToFirst()) {

			int idColumn = cur.getColumnIndex(ContactsContract.Contacts._ID);

			int displayNameColumn = cur
					.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
			do {
				PeopleInfo peopleInfo = new PeopleInfo();
				// 获得联系人的ID号
				String contactId = cur.getString(idColumn);
				// 获得联系人姓名
				String disPlayName = cur.getString(displayNameColumn);
				peopleInfo.setName(disPlayName);

				// 查看该联系人有多少个电话号码。如果没有这返回值为0
				int phoneCount = cur.getInt(cur
						.getColumnIndex(ContactsContract.Contacts._ID));
				if (phoneCount > 0) {
					// 获得联系人的电话号码
					Cursor phones = cr.query(
							ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
							ContactsContract.CommonDataKinds.Phone.CONTACT_ID  + " = " + contactId,
							null, null);
					if (phones!=null&&phones.moveToFirst()) {
						do {
							// 遍历所有的电话号码
							 String phoneNumber = phones.getString(phones
							 .getColumnIndex(String.valueOf(ContactsContract.CommonDataKinds.Phone.NUMBER)));
							 phoneString += ( phoneNumber + "\n");
							 peopleInfo.setPhone(phoneString);

						} while (phones.moveToNext());
						phoneString = "" ;
					}
					phones.close();
				}
				list.add(peopleInfo);
			} while (cur.moveToNext());
			cur.close();
		}
		
		return list;
	}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics