2011-03-05 1 views
1

CallLog.Calls 콘텐츠 공급자를 사용하여 통화 로그를 가져 오려고합니다. 그러나, 나는 내가해야 할 질의에 대해 거의 잊혀지지 않습니다. 쿼리를 만들고 ListView에서 결과를로드 할 수 있습니다. 그러나 쿼리는 모든 유형의 호출을 반환합니다.Android CallLog.Calls 공급자 쿼리 문제

물론 스위치 케이스를 사용할 수 있으며 반환 된 호출 유형에 따라 적절한 조치를 취할 수 있습니다. 하지만 내 프로그램을 위해서는 발신 통화 기록 만 있으면됩니다.

따라서 발신 전화 유형 만 받도록 쿼리를 수정하려면 어떻게해야합니까? (나는 CallLog.Calls.OUTGOING_TYPE 어딘가에 사용해야한다고 생각하니?). 여러 가지 방법으로 쿼리를 수정하려고했지만 오류가 계속 발생합니다. CallLog.Calls.OUTGOING_TYPE을 선택 인수로 제공하려고하면 int 형식으로 오류가 발생하고 쿼리는 String 형식을 찾습니다.

나는 간단한 것을 놓칠 수도 있지만 알아낼 수는 없습니다. 어떤 도움이라도 대단히 감사 할 것입니다. 고맙습니다.

Cursor c = getContentResolver().query(CallLog.Calls.CONTENT_URI, null, 
             CallLog.Calls.TYPE + "=?", 
             new String[] { String.valueOf(CallLog.Calls.OUTGOING_TYPE) }, 
             ORDER_BY); 

답변

1

이 코드를 시도합니다. 그게 효과가 있었어.
+0

감사 : 여기 아래에있는 내 쿼리는

getContentResolver().query(CallLog.Calls.CONTENT_URI,null, null, null, ORDER_BY); 
redGREENblue