내 표제에서 몇 가지 코드를 알려 드리겠습니다. 그것을보고 원하는 방식으로 편집하십시오. :)
final Uri uri = ContactsContract.Contacts.CONTENT_URI;
final String[] projection = new String[] {
ContactsContract.Contacts._ID,
ContactsContract.Contacts.DISPLAY_NAME
};
String selection = ContactsContract.Contacts.HAS_PHONE_NUMBER + " = '1'";
final String sortOrder = ContactsContract.Contacts.DISPLAY_NAME + " COLLATE LOCALIZED ASC";
Cursor cur = getContentResolver().query(uri, projection, selection, null, sortOrder);
int Size = cur.getCount();
con = new Contact[Size];
for (int z = 0; z < Size; z++)
con[z] = new Contact();
conArray = new ArrayList<Contact>();
if (Size > 0)
{
while (cur.moveToNext())
{
String Sid = cur.getString(cur.getColumnIndex(ContactsContract.Contacts._ID));
String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
Uri my_contact_Uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, Sid);
InputStream photo_stream = ContactsContract.Contacts.openContactPhotoInputStream(getContentResolver(),my_contact_Uri);
BufferedInputStream buf = new BufferedInputStream(photo_stream);
Bitmap my_btmp = BitmapFactory.decodeStream(buf);
// get the phone number
Cursor pCur = getApplicationContext().getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+ " = ?", new String[] { Sid }, null);
con[CountCon].Add(name);
if (my_btmp != null)
con[CountCon].SetImage(my_btmp);
else
con[CountCon].SetImage(bm);
while (pCur.moveToNext())
{
con[CountCon].Add(pCur.getString(pCur .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)));
}
if (con[CountCon].GetNumber(0).isEmpty())
con[CountCon].Add("none");
conArray.add(con[CountCon]);
CountCon++;
pCur.close();
}
}
cur.close();
연락처는 내가 연락하는 곳의 이름입니다. 이름, 사진, 마디 –
여기서 모든 전화 번호를 검색하고 있습니다. 내가 필요한 것은 여러 번호에 대한 연락처 조회입니다. 전혀 다른 점이 있습니다. –