2011.03.09 14:33

안드로이드의 SMS 수신과 송신 구현.
참고 할 것은 SMS 송신시에는 타 SMS 어플에 그 내역이 남지 않음. 


public class Test extends BroadcastReceiver {

      private final String SMS_R = "android.provider.Telephony.SMS_RECEIVED";
             
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();

if(action.equals(SMS_R))
{
                    //SMS 수신 부분 
Object[] pdu = (Object[])intent.getExtras().get("pdus");
SmsMessage[] msg = new SmsMessage[pdu.length];
for(int i = 0; i <msg.length; i++)
{
msg[i] = SmsMessage.createFromPdu((byte[])pdu[i]);
String number = msg[i].getOriginatingAddress();                   //송신자 전화번호
String content = msg[i].getDisplayMessageBody();               //송진자 내용
                                
                                //SMS 발신 부분
SmsManager sms = SmsManager.getDefault();
sms.sendTextMessage(mNumber, null, mContent , null, null);  
                                //mNumber 는 받는 사람 전화번호  , mContent 는 보내는 내용
...


- 필요 Permission (SMS 관련) -

<uses-permission android:name="android.permission.WRITE_SMS" />       //SMS Provider로 전송
<uses-permission android:name="android.permission.SEND_SMS" />        //SMS 발송 가능
<uses-permission android:name="android.permission.RECEIVE_SMS" />   //수신 모니터링 
<uses-permission android:name="android.permission.READ_SMS" />        //SMS 읽기 관련
신고
Posted by 구름같은사나이

티스토리 툴바