2011-09-01 85 views

回答

0

使用此代碼。這段代碼在Arralist中存儲了聯繫人姓名和號碼。

ArrayList<HashMap<String,String>> contactData=new ArrayList<HashMap<String,String>>(); 
ContentResolver cr = getContentResolver(); 
     Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null); 
     while (cursor.moveToNext()) { 
      try{ 
      String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); 
      String name=cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); 
      String hasPhone = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)); 
      if (Integer.parseInt(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) { 
       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)); 
        HashMap<String,String> map=new HashMap<String,String>(); 
        map.put("name", name); 
        map.put("number", phoneNumber); 
        contactData.add(map); 
       } 
       phones.close(); 
      } 
     }catch(Exception e){} 
     } 

,因爲你需要使用聯絡資料名單。

相關問題