2014-12-02 164 views
0

我正在开发一个应用程序,可从手机中检索所有联系人详细信息(号码,姓名,电子邮件,照片)。它显示正确的所有细节,但问题是电子邮件ID显示相同的手机号码。所以如何解决这个问题。下面是代码片段。请帮助我如何从手机获取所有联系人详细信息

Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI; 
      Cursor cursor = getApplicationContext().getContentResolver().query(uri, new String[] {ContactsContract.CommonDataKinds.Phone.NUMBER, 
       ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,ContactsContract.CommonDataKinds.Phone._ID, 
       ContactsContract.CommonDataKinds.Email.ADDRESS}, null, null, ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME + " ASC"); 
      cursor.moveToFirst(); 
      while (cursor.isAfterLast() == false) 
      { 
       String contactNumber= cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 
       String contactName = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); 
       String emailId = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Email.ADDRESS)); 
       // int phoneContactID = cursor.getInt(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone._ID)); 

       Contact contact = new Contact(); 
       contact.setConatctId(count++); 
       //contact.setConatctId(phoneContactID); 
       contact.setEmailId(emailId);    
       contact.setDisplayName(contactName);     
       contact.setMobileNo(contactNumber); 
+1

看到我的答案在这里:http://stackoverflow.com/questions/26804387/android-fetch-all-contact-list-name-email-phone-takes-more-then-a-minute-for – pskink 2014-12-02 12:21:59

+0

我已经试过这个,但它花费太多时间 – 2014-12-02 12:25:27

+0

太多时间?你一定是在开玩笑,不是吗?我有60个联系人,它花了25毫秒(即0.025秒) – pskink 2014-12-02 12:29:09

回答

相关问题