2012-11-01 7 views
2

발신 전화를 찾은 다음 발신 통화가 완료되면 서비스를 시작하는 브로드 캐스트 수신기가 있습니다. 문제는 서비스 내에서 발생하므로 마지막 통화 시간을 가져오고 시도해야합니다. 나는 내가 무엇을 찾고 있어요 것은 마지막 호출의 기간입니다최근 발신 통화 시간 android

Cursor s = r.query(android.provider.CallLog.Calls.CONTENT_URI, null, null, null,CallLog.Calls.DATE + " DESC"); 

, 쿼리를 사용하여 CallLog.Calls.CONTENT_URI를 조회하려고합니다. 나는 s.moveToFirst();과 또한 s.moveToLast();을 시도했다. 하지만 어쨌든 나는 마지막 발신 통화 시간에 해당하는 정확한 값을 얻을 수 없습니다. 기간을 얻으려고 시도합니다.

int duration=s.getColumnIndex(android.provider.CallLog.Calls.DURATION); 
String Duration=s.getString(duration); 

내가 뭔가를 놓치고 있습니까? 마지막 통화 시간은 어떻게 만듭니 까? 서비스는 나가는 전화 후에 만 ​​시작되기 때문에 여기에서는 통화 유형을 확인하지 않아도됩니다.

+0

보고, 정렬 순서는 무엇을해야 마지막 통화 지속 시간을 얻으려면 마지막 통화입니다. – user1043023

답변

1

필드에 CallLog.Calls.DURATION을 추가하십시오.

courtesy

하고 데이터베이스를 쿼리 할 때 커서가 첫 번째 또는로 이동해야합니다 또한 만약 내가 여기 IS 무엇을 찾고 있어요 간단히이 tutorial

+0

미안하지만 추가 할 어레이가 없습니다. 문제는 s.getColumnIndex (android.provider.CallLog.Calls.DURATION);을 사용하여 calllog 데이터베이스에서 일부 기간 값을 얻었지만 마지막 호출 기간 만 원합니다. – user1043023