2013-07-07 5 views
2

전화 번호 집합을 기반으로 연락처 목록을 검색하고 싶습니다. 여기서 뭐가 잘못 됐어? 현재이 사용전화 번호 집합에서 연락처 검색

-

그러나

final static String[] PROJECTION = { 
     PhoneLookup._ID, 

     PhoneLookup.LOOKUP_KEY, 

      PhoneLookup.DISPLAY_NAME, 

      PhoneLookup.PHOTO_THUMBNAIL_URI, 

    }; 

final static String SELECTION =  
      PhoneLookup.HAS_PHONE_NUMBER + "=1 AND " + PhoneLookup.NUMBER) + " IN (?)"; 

다음과 같이 프로젝션 및 선택 ContactsQuery에 정의되어

private String numbers = "'12345', '54321'"; 

String[] mSelectionArgs = {numbers};' 

return new CursorLoader(getActivity(), 
        PhoneLookup.CONTENT_FILTER_URI, 
        ContactsQuery.PROJECTION, 
        ContactsQuery.SELECTION, 
        mSelectionArgs, 
        PhoneLookup.DISPLAY_NAME); 

, 나는 오류 얻을 : 44 :

07-08 00 21.007 : E/AndroidRuntime (2307) : 원인 : java.lang.IllegalArgumentException : URI : content : //com.android.contacts/phone_lookup, 사용자 호출 : com.example.android.contactslist, 호출 패키지 : com.exa mple.android.contactslist

답변

0

보십시오

컨텐트 리졸버 CR = context.getContentResolver(); 커서 커서 = cr.query (ContactsContracts.Contents.CONTENT_URI, null, (DISPLAY_NAME = ' "+ name +"' "), null, null)

+0

Contacts.CONTENT_URI는 PhoneNumbers를 기준으로 필터링을 허용하지 않습니다. 따라서 PhoneLookup.CONTENT_FILTER_URI의 사용법 –