반응형 브로드캐스트 리시버2 BroadcastReceiver에서 Background thread를 사용 시 주의 사항 BroadcastReceiver의 onReceive() 메서드에서 뭔가 시간이 오래 걸릴 작업을 해야할 일이 생겼다. 정확히는 BroadcastReceiver의 onReceive() 메서드에서 특정 이벤트를 받게 되면, ContentResolver를 통해 디바이스 내 다른 앱에 구축된 Database에 데이터를 insert해주어야 하는 상황이다. AsyncTask를 통해 DB에 insert하면 될 것 같지만 한가지 주의 사항이 있다. 아래 링크에서 그 내용을 자세히 설명하고 있는데, https://developer.android.com/guide/components/broadcasts#effects-process-state 간단히 얘기하면, onReceive() 메서드가 return 되면 Broadcas.. 2020. 11. 8. [Android] BroadcastReceiver를 통해 SMS 수신하기 가계부 앱을 보면 요즘 카드/체크카드 결제 내역을 사용자가 직접 입력하는 경우는 거의 없습니다. SMS로 결제 통보가 오면, 가계부 앱에서 이를 자동으로 등록하며, 사용 내역 같은 정보만 사용자가 다시 수정하는 정도입니다. 그럼 가계부 앱은 어떻게 SMS를 읽어 DB에 저장할 수 있는 것일까요? 이 시나리오에 대해 다음 두 가지 포인트를 생각해볼 수 있습니다. SMS 문자가 오면 이를 가계부 앱에서 이벤트로 받아 문자 메세지를 확인한다. 문자 메세지를 적절히 분석/파싱하여 DB 데이터 스키마에 맞게 변환/저장한다. 2번의 경우는 String 파싱/정규표현식과 관련된 내용으로 본 포스팅에서 다루지 않으며, 1번 SMS 문자를 앱에서 읽는 부분에 대해서만 다룹니다. 1. SMS를 받을 수 있도록 권한 부여 .. 2020. 11. 8. 이전 1 다음 반응형