HTC 범례가 있습니다. 전화 연락처에는 4-5 개의 연락처가 표시됩니다.하지만 내 응용 프로그램에서 쿼리하면 거의 45 개의 연락처가 표시됩니다. Gmail의 메일 주소라고 생각합니다.ContactsContract API의 문제 android
String[] Projection = new String[] { ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts.PHOTO_ID, ContactsContract.Contacts.HAS_PHONE_NUMBER, ContactsContract.Contacts.STARRED};
커서 커서 = managedQuery (ContactsContract.Contacts.CONTENT_URI, 프로젝션, NULL, NULL, NULL);
나는 사진과 함께 모든 세부 사항을 listview에서도 얻고있다. 지금은 그의 모든 전화 번호, 이메일, 사진 등의 특정 연락처 정보를 얻을 필요가 등등입니다이 내가이 쿼리
내가 전화 연락의 모든 세부 사항을 얻고있다final String[] projection = new String[] { ContactsContract.CommonDataKinds.Phone.CONTACT_ID, ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.NUMBER, ContactsContract.CommonDataKinds.Phone.IS_PRIMARY, }; final Cursor phone = managedQuery( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, projection, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=?", new String[]{contactId}, null);
> if(phone.moveToFirst()) {
> final int contactNumberColumnIndex =
> phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
> final int contactTypeColumnIndex =
> phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE);
을 쓰고 있어요 다른 모든 연락처는 아닙니다. 나는이 모든 세부 정보가 공유 테이블 (ContactsContract.Data.CONTENT_URI)에 저장되어 있음을 읽었지만 정확하게 수행 할 수 없으므로이 작업을 완료해야합니다.
다른 사람이 어떻게하는지 이해할 수 있습니까?
감사
Thanks Stipa answer. – Rishi
나 같은 게으른 개발자를위한 매우 유용합니다. –