나는 통화 기록을 가져 와서 텍스트 파일에 저장하는 Android 앱을 개발 중입니다. ContentObserver를 사용하여 변경 사항을 관찰하고 변경 사항이 있으면 업데이트 된 항목을 가져옵니다. 부재중 전화, 수신 전화를 받고 전화 번호부에서 전화를 걸어 전화를 걸면 항목을 올바르게 가져올 수 있습니다. 통화 로그에서 번호를 클릭하여 발신 전화를 걸면 onChange() 메소드가 3 번 호출됩니다. 이전 이벤트를 한 번 검색하는 것과 같이 호출하기 전에 통화 로그에서 이름을 선택하면 onChange()가 호출됩니다. 전화가 걸리면 발신 이벤트가 두 번 검색되어 완전히 입력됩니다. 나에게 해결책을 제안 해주세요. 감사합니다.업데이트 된 통화 기록을 가져 와서 파일에 저장하십시오.
0
A
답변
0
어떤 URI에서 옵저버를 등록 했나요? 그것 android.provider.CallLog.Calls.CONTENT_URI인가요? 그렇다면 onChange() 메서드는 한 번만 호출됩니다.
또한 콘텐츠 제공 업체에 의존하는 것은 좋은 생각이 아닙니다. http://android-developers.blogspot.com/2010/05/be-careful-with-content-providers.html을 참조하십시오. 콘텐츠 관측자를 사용하는 대신, 동작이 포함 된 브로드 캐스트 수신기를 사용해 볼 수 있습니다. android.intent.action.NEW_OUTGOING_CALL
관련 문제
- 1. 통화 로그 기록을 읽으려고합니다.
- 2. .accdb 파일에 날짜를 저장하십시오.
- 3. DIV의 내용을 가져 와서 파일, jQuery/JS 또는 서버쪽에 저장하십시오.
- 4. android 응용 프로그램을 통해 통화 기록을 업데이트하는 방법
- 5. 통화 코드를 가격과 함께 저장하십시오.
- 6. 문자열을 통화 값으로 변환하고 저장하십시오.
- 7. FB 앱에서 데이터를 가져 와서 스프레드 시트에 저장하십시오.
- 8. Json을 가져 와서 텍스트 파일에 출력하지 않습니다.
- 9. textarea에서 업데이트 된 값을 가져 와서 jQuery로 div에 삽입 하시겠습니까?
- 10. 디스크 공간을 파일에 저장하십시오.
- 11. 인터넷에서 이미지를 가져 와서 안드로이드에서 동적으로 내부 메모리에 저장하십시오.
- 12. PHP를 사용하여 HTML 폼에서 값을 가져 와서 MySQL 데이터베이스에 저장하십시오.
- 13. Windows 배치 파일 : 폴더 경로를 가져 와서 변수에 저장하십시오.
- 14. XML 파일에서 데이터를 가져 와서 MySQL 데이터베이스에 저장하십시오.
- 15. 이미지를 클릭하고 좌표를 가져 와서 데이터베이스에 저장하십시오. JavaScript 및 Rails
- 16. Perl 및 WWW :: Mechanize를 사용하여 채워진 양식으로 HTML을 가져 와서 파일에 저장하십시오.
- 17. 버튼을 눌렀을 때 통화 기록을 보는 방법?
- 18. 통화 로그에서 전화 번호를 가져 와서 개체에 저장하는 방법 - Android
- 19. 레지스트리에서 값을 읽고 bin 파일에 저장하십시오.
- 20. 자바 스크립트를 사용하여 HTML5 기록을 저장하십시오.
- 21. email.Message 개체를 파일에 저장하십시오.
- 22. jtextfield에서 데이터를주고 파일에 저장하십시오.
- 23. 정보를 파일에 저장하십시오. 어떻게합니까?
- 24. system() 결과를 파일에 저장하십시오.
- 25. MySQL 출력을 파일에 저장하십시오.
- 26. 쿼리 결과를 파일에 저장하십시오.
- 27. Windows Mobile 6.1 SDK로 통화 기록을 얻으려면
- 28. ApiBridge가 JavaME에서 통화 기록을 얻으려면 어떻게해야합니까?
- 29. 다중 번호에서 통화 기록을 삭제 하시겠습니까?
- 30. listview에 전체 통화 기록을 표시하는 방법은 무엇입니까?
내가 언급 한 링크를 보았습니다. 그래, 내가 전에 방송 수신기를 사용하여, 전화가 유휴 상태로 오면, 내가 전화 로그를 가져 오는 기능을 썼다. 하지만 문제는 내가 IDLE 상태를 두 번 호출하여 두 개의 항목을 만드는 것입니다. 그리고 이것에 대한 해결책이 있다면 전화 상태를 청취하는 브로드 캐스트 리시버를 사용하고 전화 상태가 유휴 상태이면 통화 로그를 가져 오는 서비스를 시작하려고합니다. 이것에 대한 모든 솔루션을 주시면 감사하겠습니다. – vishnu