2013-03-23 4 views
0

주어진 전화 번호 집합과 일치하는 연락처 목록을 얻으려고합니다. 누구나 내게 안드로이드에서 이것을 수행 할 수있는 방법을 제안 할 수 있습니까?주어진 전화 번호 집합과 일치하는 연락처 목록을 얻으십시오

예를 들어 검색에 사용되는 입력 사항 인 전화 번호는 [883338383, 93939311, 89898999]입니다. 이 번호와 일치하는 연락처 목록을 가져와야합니다.

답변

0

URI와 쿼리를 지정하여 전화 번호로 연락처 정보를 가져올 수 있습니다.

Uri contactUri = Uri.withAppendedPath(Contacts.Phones.CONTENT_FILTER_URL, Uri.encode(phoneNumber)); 

Cursor cursor = mContext.getContentResolver().query(contactUri, null, null, null, null); 

당신이 필요로하는 정보를 얻기 위해 그것을 구문 분석 할 수 있습니다에 대한 다음 찾고있는 연락처를 포함해야 위의 코드에 의해 반환되는 커서 : 주어진 수의 접촉이없는 경우

if(cursor.moveToFirst()){ 
    int personIDIndex = cursor.getColumnIndex(Contacts.Phones.PERSON_ID); 
    //etc 
} 

을 , 질의는 null을 리턴 할 것이다. 따라서 t0가 널 값으로 커서를 확인한 후에 값을 확인하십시오. 그렇지 않으면 NullPointerException이 표시됩니다.

+0

하지만이 번호는 하나의 번호로 올바르게 입력해야합니다. 한 번에 3 가지 숫자를 모두 통과시키고 연락처 목록을 얻을 수있는 방법이 있습니까? – user2202003

+0

아니요, 없습니다. for 루프를 사용하십시오. 이 작업은 일반적으로 매우 빠르며 3 개의 숫자 만 있기 때문에 효율성에 대해 걱정하지 마십시오. –

+0

방금 ​​예로 3 개의 숫자를 사용했는데,이 숫자는 다양 할 수 있습니다. 어쨌든 제안에 감사드립니다. – user2202003

관련 문제