안드로이드 개발 질문/답변
(글 수 45,052)
통화기록이 저장되는 시점이 언제인가요?
전화를 끊었을 때 같은데 맞다면 BroadcastReceiver 에서 전화 끊은 때를 잡은 다음에 어떻게 해야 되나요??
if(action.equals("android.intent.action.PHONE_STATE")){
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
if(state.equals(TelephonyManager.EXTRA_STATE_IDLE)){
//이 부분
}
}
abortBroadcast(); 는 안되는거 같습니다.
만약 이런 방법으론 안되는 거면 방법을 알려주시면 감사하겠습니다.
전화를 끊었을 때 같은데 맞다면 BroadcastReceiver 에서 전화 끊은 때를 잡은 다음에 어떻게 해야 되나요??
if(action.equals("android.intent.action.PHONE_STATE")){
String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);
if(state.equals(TelephonyManager.EXTRA_STATE_IDLE)){
//이 부분
}
}
abortBroadcast(); 는 안되는거 같습니다.
만약 이런 방법으론 안되는 거면 방법을 알려주시면 감사하겠습니다.
2011.02.13 22:35:51
조금 다른 방법이긴 한데 PhoenState Listener를 통하여 전화가 대기중 상태로 바뀌는 시점을
알아낸 후 마지막에 저장된 콜로그를 삭제하는 방법은 어떨까요?
2011.02.24 00:31:49
BroadCast 를 사용해서, 전화 상태가 IDLE 이 되자마자 새 액티비티를 불러서 CallLog 를 가져오게 했는데
방금전에 했던 통화는 아직 저장이 안된 상태더군요.
쿼리를 CallLog.Calls.DATE + " DESC"로 정렬했을 때 맨위에 오는 레코드가 가장 최근 통화가 아니라 가장 오래된 통화기록이라면
제 말이 틀린 말이겠지만 그게 아니라면 전화 상태가 바뀌는 걸 감지하는것만으로는 알수 없습니다.
저도 지금 이것때문에 고민중인데, CallNotifier 라는게 있다고 들어서 검색중인데 영 진전이 없네요.
일반적으로 통화가 끊기면 저 클래스에 있는 onDisconnect 함수가 불리고, 그 함수 내에 addcall 이라는 함수가 있어서
calls 에 통화기록이 기록된다고 합니다. 근데 그렇게 하려면 추가 패키지가 필요한 모양입니다.
새 패키지 추가 없이, 통화가 끊기자마자 새로운 액티비티가 수행되어 그 기록을 읽어오게 하고 싶은데 난감하네요..
방금전에 했던 통화는 아직 저장이 안된 상태더군요.
쿼리를 CallLog.Calls.DATE + " DESC"로 정렬했을 때 맨위에 오는 레코드가 가장 최근 통화가 아니라 가장 오래된 통화기록이라면
제 말이 틀린 말이겠지만 그게 아니라면 전화 상태가 바뀌는 걸 감지하는것만으로는 알수 없습니다.
저도 지금 이것때문에 고민중인데, CallNotifier 라는게 있다고 들어서 검색중인데 영 진전이 없네요.
일반적으로 통화가 끊기면 저 클래스에 있는 onDisconnect 함수가 불리고, 그 함수 내에 addcall 이라는 함수가 있어서
calls 에 통화기록이 기록된다고 합니다. 근데 그렇게 하려면 추가 패키지가 필요한 모양입니다.
새 패키지 추가 없이, 통화가 끊기자마자 새로운 액티비티가 수행되어 그 기록을 읽어오게 하고 싶은데 난감하네요..



