본문 바로가기

안드로이드 개발 팁/일반

혼동하기 쉬운 권한, READ_SMS, RECEIVE_SMS


안드로이드 애플리케이션을 개발하다 보면... 영어 때문인지는 몰라도 혼동되는 용어나 설명이 종종 있습니다.

그 중에서도 저를 가장 많은 시간동안 고민에 빠뜨렸던 건 바로 SMS를 다루는 애플리케이션에서 사용하는 권한인 READ_SMS와 RECEIVE_SMS 권한이였습니다.

저만 헷갈렸던 것일지도 모르겠다만, 단순히 두 권한을 해석해봤을땐

  • READ_SMS : SMS 읽기
  • RECEIVE_SMS : SMS 받기

이 정도로 해석했는데.... "읽기"라는 것을 "받기"와 혼동하기도 하고.... SMS를 수신하면 그 내용을 "읽는 것"도 포함되기도 하고.... 이러다보니 당최 정신이 없더군요. '_'

아무튼.... 이 두 권한의 정확한 역할을 정리하면 다음과 같습니다.

  • READ_SMS : SMS 컨텐트 프로바이더에 저장된 문자메시지에 접근할 수 있는 권한입니다. 저장된 메시지를 읽으려면 이 권한을 사용합니다.
  • RECEIVE_SMS : 새로 수신되는 SMS를 감지하고, 그 내용 등을 확인할 수 있는 권한입니다. 스팸 차단 애플리케이션 등을 만들려면 이 권한이 필요합니다.