获得所有联系人姓名和电话 邮箱

获得联系人姓名和电话 有两种使用可能,一种是以姓名为主 不管电话 邮箱是不是为空 都要显示姓名,第二种就是我要显示的姓名 必须存在电话。 这两种方式其实查不错 关键在于在哪里添加数组。// //获取联系人的姓名、电话信息 此方法以获取显示联系人为主如果电话为空 联系人一样显示

//	 public ArrayList<InvitePeopleConnect> getContact()
//	 {                 
//	         //取得ContentResolver
//	         ContentResolver content = getContentResolver();                                 
//	         Uri uri = ContactsContract.Contacts.CONTENT_URI;                //联系人的URI
//	         Cursor cursor = content.query(uri,null, null, null, null);
//	         int contactCount = cursor.getCount();                //获得联系人数目
//	  
//	         ArrayList<InvitePeopleConnect> contacts = new ArrayList<InvitePeopleConnect>(contactCount);         
//	  
//	         if (cursor.moveToFirst())
//	         {
//	                 // 循环遍历
//	                 for (;!cursor.isAfterLast();cursor.moveToNext())
//	                 {
//	                	      ArrayList<String> allPhoneNum = new ArrayList<String>();
//	                         InvitePeopleConnect contact = new InvitePeopleConnect();
//	                                          
//	                         int idColumn = cursor.getColumnIndex(ContactsContract.Contacts._ID);
//	                         int displayNameColumn = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
//	                         int phoneColumn = cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER);                         
//	                         
//	                         // 获得联系人的ID号
//	                         String contactId = cursor.getString(idColumn);
//	                       //  contact.setMobleNum(contactId);
//	                         // 获得联系人姓名
//	                         String disPlayName = cursor.getString(displayNameColumn);
//	                         contact.setPeopleName(disPlayName);
//	                  
//	                         // 电话号码的个数
//	                         //String phoneString = cursor.getString(phoneColumn);
//	                         int phoneNum = cursor.getInt(phoneColumn);
//	                                                  
//	                         if (phoneNum > 0)
//	                         {
//	                                 // 获得联系人的电话号码的cursor;
//	                                 Cursor phones = content.query(
//	                                                 ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
//	                                                 null,
//	                                                 ContactsContract.CommonDataKinds.Phone.CONTACT_ID+ " = " + contactId, 
//	                                                 null, null);
//	                              
//	                                 int phoneCount = phones.getCount();
//	                                 allPhoneNum = new ArrayList<String>(phoneCount);
//	                                 if (phones.moveToFirst())
//	                                 {
//	                                         // 遍历所有的电话号码
//	                                         for (;!phones.isAfterLast();phones.moveToNext())
//	                                         {                                                 
//	                                                 String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
//	                                                 allPhoneNum.add(phoneNumber);
//	                                                 
//	                                         }
//	                                  
//	                                         if (!phones.isClosed())
//	                                         {
//	                                                 phones.close();
//	                                         }
//	                                 }
//	                         }
//	                  
//	                         contact.setPoneNumList(allPhoneNum);
//	      
//	                         contacts.add(contact);
//	                 }
//	          
//	                 if (!cursor.isClosed())
//	                 {
//	                         cursor.close();
//	                 }
//	         }
//	         return contacts;
//
//	 }
	//获取联系人的姓名、电话信息  此方法以获取显示联系人为主如果电话为空 联系人一样显示
		 public ArrayList<InvitePeopleConnect> getContact()
		 {                 
		         //取得ContentResolver
		         ContentResolver content = getContentResolver();                                 
		         Uri uri = ContactsContract.Contacts.CONTENT_URI;                //联系人的URI
		         Cursor cursor = content.query(uri,null, null, null, null);
		  
		         ArrayList<InvitePeopleConnect> contacts = new ArrayList<InvitePeopleConnect>();         
		  
		         if (cursor.moveToFirst())
		         {
		                 // 循环遍历
		                 for (;!cursor.isAfterLast();cursor.moveToNext())
		                 {
		                	      ArrayList<String> allPhoneNum = new ArrayList<String>();
		                         InvitePeopleConnect contact = new InvitePeopleConnect();
		                                          
		                         int idColumn = cursor.getColumnIndex(ContactsContract.Contacts._ID);
		                         int displayNameColumn = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
		                         int phoneColumn = cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER);                         
		                         
		                         // 获得联系人的ID号
		                         String contactId = cursor.getString(idColumn);
		                         // 获得联系人姓名
		                         String disPlayName = cursor.getString(displayNameColumn);
		                  
		                         // 电话号码的个数
		                         //String phoneString = cursor.getString(phoneColumn);
		                         int phoneNum = cursor.getInt(phoneColumn);
		                                                  
		                         if (phoneNum > 0)
		                         {
		                                 // 获得联系人的电话号码的cursor;
		                                 Cursor phones = content.query(
		                                                 ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
		                                                 null,
		                                                 ContactsContract.CommonDataKinds.Phone.CONTACT_ID+ " = " + contactId, 
		                                                 null, null);
		                              
		                                 int phoneCount = phones.getCount();
		                                 allPhoneNum = new ArrayList<String>(phoneCount);
		                                 if (phones.moveToFirst())
		                                 {
		                                         // 遍历所有的电话号码
		                                         for (;!phones.isAfterLast();phones.moveToNext())
		                                         {                                                 
		                                                 String phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
		                                                
		                                                 if( !phoneNumber.equals("") && phoneNumber!=null)
		                                                 {
		                                                	 allPhoneNum.add(phoneNumber);
		                                                	 contact.setPeopleName(disPlayName);
		                                                 }
		                                                 
		                                         }
		                                         
		                                       contact.setPoneNumList(allPhoneNum);
		        		                       contacts.add(contact);
		                                         if (!phones.isClosed())
		                                         {
		                                                 phones.close();
		                                         }
		                                 }
		                         }
		                  
		                         
		                 }
		          
		                 if (!cursor.isClosed())
		                 {
		                         cursor.close();
		                 }
		         }
		         return contacts;

		 }
	//获取联系人的姓名、邮箱信息
		 public ArrayList<InvitePeopleConnect> getEmailContact()
		 {                 
		         //取得ContentResolver
		         ContentResolver content = getContentResolver();                                 
		         Uri uri = ContactsContract.Contacts.CONTENT_URI;                //联系人的URI
		         Cursor cursor = content.query(uri,null, null, null, null);
		       
		         ArrayList<InvitePeopleConnect> contacts = new ArrayList<InvitePeopleConnect>();         
		  
		         if (cursor.moveToFirst())
		         {
		                 // 循环遍历
		                 for (;!cursor.isAfterLast();cursor.moveToNext())
		                 {
		                	     ArrayList<String>  allEmailNum = new ArrayList<String>();
		                         InvitePeopleConnect contact = new InvitePeopleConnect();
		                                          
		                         int idColumn = cursor.getColumnIndex(ContactsContract.Contacts._ID);
		                         int displayNameColumn = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
		                                         
		                  
		                         // 获得联系人的ID号
		                         String contactId = cursor.getString(idColumn);
		                         // 获得联系人姓名
		                         String disPlayName = cursor.getString(displayNameColumn);
		                         
		                         
		                                 Cursor emails = content.query(
		                                		 ContactsContract.CommonDataKinds.Email.CONTENT_URI,
		                                                 null,
		                                                 ContactsContract.CommonDataKinds.Email.CONTACT_ID+ " = " + contactId, 
		                                                 null, null);
		                              
		                              
		                                 allEmailNum = new ArrayList<String>();
		                                 if (emails.moveToFirst())
		                                 {
		                                         // 遍历所有的邮箱
		                                         for (;!emails.isAfterLast();emails.moveToNext())
		                                         {                                                 
		                                                 String emailAddress = emails.getString(emails.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA));
		                                                 if( !emailAddress.equals("") && emailAddress!=null)
		                                                 {
		                                                	 allEmailNum.add(emailAddress);
		                                                	 contact.setPeopleName(disPlayName);
		                                                 }
		                                                 
		                                         }
		                                  
		                                         contact.setPoneNumList(allEmailNum);
		        		                         contacts.add(contact);
		                                         if (!emails.isClosed())
		                                         {
		                                        	  emails.close();
		                                         }
		                                 }
		                  
		                 }
		          
		                 if (!cursor.isClosed())
		                 {
		                         cursor.close();
		                 }
		         }
		         return contacts;

		 }
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值