기본 콘텐츠로 건너뛰기

라벨이 sms인 게시물 표시

[Android] BroadcastReceiver를 통해 SMS 수신하기

예로 가계부 앱을 보면 요즘 카드/체크카드 결제 내역을 사용자가 직접 입력하는 경우는 거의 없습니다. SMS로 결제 통보가 오면, 가계부 앱에서 이를 자동으로 등록하며, 사용 내역 같은 정보만 사용자가 다시 수정하는 정도입니다. 그럼 가계부 앱은 어떻게 SMS을 읽고서 그것을 자신의 DB/저장소에 등록할 수 있는 것일까요? 이 시나리오에 대해 다음 두 가지 포인트를 생각해볼 수 있습니다. 1. SMS 문자가 오면 이를 가계부 앱에서 이벤트로 받고, 그 내용을 볼 수 있다. 2. 그 내용을 적절히 분석/파싱하여 가계부 DB/저장소 내 데이터 스키마에 맞게 변환하여 저장한다. 2번의 경우는 String 파싱/정규표현식과 관련된 내용으로 여기서 다루진 않으며, 1번 SMS 문자를 앱에서 읽는 부분에 대해서만 다룹니다. 우선 본 내용의 구현 과정을 간단히 요약하면 다음과 같습니다. 1. SMS 를 받을 수 있도록 권한 부여 2. BroadcastReceiver 클래스 구현 3. 구현한 BroadcastReceiver 클래스 등록