Device로 전송된 SMS를 읽으려면 BroadcastReceiver를 이용하여 "android.provider.Telephony.SMS_RECEIVED" 엑션을 받으면 된다.
% BroadcastReceiver를 사용하는 방법을 정리 해놓은 글이 있는줄 알았는데 찾아보니 없는것같다. 나중에 시간되면 따로 글 빼놔야겠다. 퇴근하고 벌써 22시 44분이라 작성할 시간이 없다..
% 나중에 쓴다는게 깔끔하지 못해서 이 글 작성 미루고 Broadcast 관련 기초 문서 작성
# Reciver에서 sms received Action 받기
regisetReciver 하기 전에 Intent에 IntentFilter로 "android.provider.Telephony.SMS_RECEIVED";를 추가한다. sms가 날라오면 해당 Intent가 날라온다.
# 문자 string 읽기
Android SMS는 PDUS(Protocol data unit, https://en.wikipedia.org/wiki/Protocol_data_unit)이라는 형태로 날라온다. PDU는 프로토콜이라 정확한 기술사항을 들여다 볼 시간이 없어서 분석은 못했다. 단순히 우리는 메시지만 사용할 것이기 때문에 아래와 같이 내용을 갖고오면 된다.
(https://developer.android.com/reference/android/telephony/SmsMessage.html#createFromPdu(byte[]))
Bundle bundle = intent.getExtras(); Object[] msg = (Object[]) bundle.get("pdus"); SmsMessage[] smsMsg = new SmsMessage[msg.length]; for(int i=0; i< msg.length; i++) { smsMsg[i] = SmsMessage.createFromPdu((byte[])msg[i]); }
끝
'소프트웨어 > Android/Java/Ndk' 카테고리의 다른 글
JUnit4] Android Studio에서 Test환경 셋팅 (0) | 2021.07.01 |
---|---|
Android12 변경사항 훑어보기 (0) | 2021.03.11 |
Android] BroadcastReceiver 등록 (0) | 2016.06.14 |
android] WebView 안멈춤 현상, WebView 계속 소리남 (0) | 2016.02.18 |
android] WindowManager UpdateViewLayout이 벌벌벌 떨릴때 (0) | 2016.02.18 |
android] chat head (0) | 2016.02.13 |
android] YouTubePlayer 객체가 파괴되는듯하다.. (0) | 2016.02.11 |