요구조건
로직
- 메시지 수신시 서버 api 호출.
- 서버가 살아있는지 health check 하여 상태값을 저장
- 서버 api 가 죽어 있을 경우, 나중에 재 시도 (로컬 DB - sqlite 구축 필요)
- 서버로 전송하지 못한 메시지가 있는지 주기적으로 확인하여 서버에 전송.
- 앱 최초 활성화시 실행 및 앱이 계속 켜진 상태일 수 있으니 타이머로 주기적으로 전송 실패 메시지 존재하는지 로컬DB에서 확인하고 서버에 재 전송.
- sms 는 Broadcast 로 메시지 수신시 이벤트 캐치가 가능하며 실시간으로 서버 전송 가능. 큰 이슈 없음.
- mms 는 ContentResolver 에서 읽어와야 하므로, Notification 캐치 권한을 읽어와 MMS 수신 이벤트를 캐치하고, Noti가 mms로 추정되는 경우, ContentResolver를 읽으면 됨. (노티나 방식)
화면
- 메인
- api 서버 상태 노출, 설정값(통신사) 노출
- 로컬DB 목록
- 메시지 수신 및 서버로 전송 등 로그 보여주기
- 각 로그별 상세보기 필요한가? (개발 기간 증가)
- 설정
- api end point 입력(TextInput)
- 기기 통신사 선택(Radio)
- 메시지 자동삭제 여부 (On/Off) : on/off 선택시 구체적인 action 정의 필요
- 로그파일 자동삭제 여부 : on/off 선택시 구체적인 action 정의 필요
- 위 두 설정값을 api 파라미터로 넘기는지, 아니면 다른 action이 있는지 (개발 기간 증가)
레퍼런스
https://stackoverflow.com/questions/3012287/how-to-read-mms-data-in-android
mms receiver 관련소스 (잘 안됨)
'Android' 카테고리의 다른 글
Android 프로젝트 Build Clean 하위 디렉토리 일괄작업 (0) | 2022.06.29 |
---|---|
안드로이드 스크립트로 build 하여 git push 하기 (0) | 2021.12.26 |
파일 저장하는 함수 (0) | 2021.09.20 |
안드로이드 웹뷰앱 앱에 WebView 및 제휴사 스팸 정책을 준수하지 않는 콘텐츠가 포함되어 있습니다. (0) | 2020.10.12 |
Android 전화번호 가져오려면 권한이 필요합니다. (0) | 2020.07.17 |
댓글