배경에서 전화를 감지하고 특정 번호를 통화 기록에서 삭제하고 싶습니다. 다음은 내가 고려한 옵션입니다. 이 중 하나가 더 나은/실행 가능한 솔루션인지 알려주십시오.특정 번호의 안드로이드 전화 로그를 지우십시오.
전화 상태 방송 수신기를 등록하십시오. onReceive의 통화 기록에서 번호를 삭제하십시오. 문제는이 지점에서 통화 로그가 업데이트되지 않았을 수 있으므로 삭제가 효과가 없음을 의미합니다.
전화 상태 방송 수신기를 등록하십시오. onReceive에서 어떻게 든 지연을 추가하고 잠시 후 통화 기록을 삭제하려고합니다. 지연으로 인해 시스템은 통화 로그 항목을 추가 할 수있는 충분한 시간을 갖게됩니다. 이 접근법은 나에게 약간 해킹 된 것처럼 보였지만 그다지 심각하지는 않습니다.
전화 상태 방송 수신기를 등록하십시오. onReceive에서는 통화 기록을위한 콘텐츠 관찰자를 등록합니다. 내 이해는 수신 후 프로세스가 언제든지 죽을 수 있으므로 프로세스가 종료되면 내용 관찰자 onChange가 호출되지 않습니다.
전화 상태 방송 수신기를 등록하십시오. onReceive에서 내 서비스를 시작합니다 (아직 실행 중이 아닌 경우). 그러면 컨텐츠 관찰자가 등록됩니다. 내용 관찰자 onChange에서 특정 번호와 일치하는 통화 로그 항목을 삭제합니다.
감사합니다,
감사합니다. ashu 덕분에 옵션 3이 이제 옵션 4가되도록 질문을 업데이트했습니다. –
답변을 편집했습니다! – ashu
나는이 게시물의 라인을 따라 생각하고 있었다. http://stackoverflow.com/questions/8216920/how-to-stop-phone-calls-to-be-log-in-the-call-log-on-android ? rq = 1 –