SMS 가져오기
브로드캐스트 리시버를 생성하고, android.provider.Telephony.SMS_RECEIVED 액션을 사용한다.
manifest.xml 에 리시버 설정
<application ..>
..
..
<receiver android:name="ReceiverClassName" android:enabled="true">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_RECEIVED"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</receiver>
</application>
퍼미션 추가
<uses-permission android:name="android.permission.RECEIVE_SMS'/>
Intent 메시지에 extra로 추가된 데이터중 pdus 에 sms 리스트가 들어온다.
해당 오브젝트 배열을 얻고, SmsMessage.createFromPdu() 메쏘드를 사용해
SmsMessage를 얻는다.
콜백 구현
@override
public void onReceive( Context context, Intent intent ) {
if( intent.getAction().equals( "android.provider.Telephony.SMS_RECEIVED" ) ) {
Bundle bundle = intent.getExtras();
if(bundle == null){
return;
}else{
Object[] pdusObj = (Object[])bundle.get("pdus");
if(pdusObj == null){
return;
}
// 오브젝트 수만큼 메시지 객체 생성
SmsMessage[] messages = new SmsMessage[pdusObj.length];
// 해당 갯수만큼 루프를 돌며 sms 메시지 객체로 변환
for(int i = 0 ; i < messages.length ; i++){
messages[i] = SmsMessage.createFromPdu((byte[])pdusObj[i]);
}
}
}
'프로그래밍 > Android' 카테고리의 다른 글
TextButton 만들기 (0) | 2009.11.22 |
---|---|
버튼 상태에 따른 배경변경 (0) | 2009.11.22 |
에니메이션 처리하기 (0) | 2009.11.19 |
투명한 레이아웃 만들기 (0) | 2009.11.18 |
메시지 핸들러 사용하기 (0) | 2009.11.16 |
Broadcast/BroadcastReceiver (0) | 2009.11.11 |
AlarmManger 사용 (0) | 2009.11.10 |
AsyncTask 이해하기 (0) | 2009.11.09 |
테마설정하기 (0) | 2009.11.09 |
타이틀바 없애기 (0) | 2009.11.09 |