SMS수신 처리
앱에서 SMS발송과 스마트폰에 수신되는 SMS를 수신할 수 있는 방법이다.
퍼미션 설정.
<user-permission android:name="android.permission.RECEIVE_SMS" />
브로드캐스트 리시버 등록.
<receiver
android:name=".SMReceiver"
android:enabled="true"
android:exported="true">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
</intent-filter>
</receiver>
수신한 SMS데이터를 얻기.
Bundle bundle = intent.getExtras();
Object[] pdus = (Object[]) bundle.get("pdus");
SmsMessage[] messages = new SmsMessage[pdus.length];
for (int i = 0; i < pdus.length; i++) {
messages[i] = SmsMessage.createFromPdu((byte[])pdus[i]); //API Level 23 deprecated
try {
String message = new String(messages[i].getMessageBody());
String phoneNumber = messages[i].getOriginatingAddress();
//....
} catch (Exception e ) {
e.printStackTrace();
}
}
Extra 데이터로 전달된 데이터를 getExtras()함수를 이용해서 SMS수신 내용을 담고 있는 Bundle객체를 얻은 후 Bundle에서 pdus라는 키 값으로 객체를 얻어 이용하면된다.
출처: 깡샘의 안드로이드 프로그래밍 중에서
'프로그래밍 > Android' 카테고리의 다른 글
ImageView 웹서버의 이미지 적용 방법(간단) (0) | 2018.11.21 |
---|---|
ERR_UNKNOWN_URL_SCHEME intent오류 해결방법 (2) | 2018.11.09 |
ConnectivityManager 네트워크 접속 정보 얻기 (0) | 2018.11.02 |
갤러리 앱 데이터 연동(ContentProvider) (0) | 2018.11.01 |
설치된 앱 목록 조회(PackageManager) (0) | 2018.10.31 |