아래 구글링해서 얻은 소스를 돌려봤더니 잘 되네요^^

그런데 80byte가 넘는 문자나 MMS 는 못받더군요..

그리고 이렇게 문자를 받을때,, 폰에 있는 기본문자 시스템을 오버라이드해서 제가 임의대로 문자를 저장하고 삭제하려면

어쩧게 해야 하는지도 궁금합니다.


public class MySMSMonitor extends BroadcastReceiver {


private static String ACTIONNAME = "android.provider.Telephony.SMS_RECEIVED";


@Override

public void onReceive(Context context, Intent intent) {

if (intent != null && intent.getAction() != null

&& ACTIONNAME.compareToIgnoreCase(intent.getAction()) == 0) {

if(intent.getAction().equals(ACTIONNAME)) {

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 addr = msg[i].getOriginatingAddress();

String body = msg[i].getMessageBody();

long dateTime = msg[i].getTimestampMillis();

String date = Long.toString(dateTime);

android.util.Log.i("SMS monitor", i + " = " + msg[i].getOriginatingAddress() + "/" + msg[i].getMessageBody()+"/"+date);


}

}

}

}

}


퍼미션도 다 주었다고 생각됩니다.

<uses-permission android:name="android.permission.READ_SMS"></uses-permission>

<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>

<uses-permission android:name="android.permission.SEND_SMS"></uses-permission>

<uses-permission android:name="android.permission.WRITE_SMS"></uses-permission>

<uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission>

<uses-permission android:name="android.permission.INTERNET"/>  

    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <uses-permission android:name="android.permission.RECEIVE_MMS"/>

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>


혹시 어떻게 하는지 아시는 분 조언 부탁드리겠습니다. 며칠째 해결을 못하고 지금 곤경에 처해 있어요 ㅠㅠ

도움주시면 대박 나실겁니다 ^^ 좋은하루 되세요~~~~!!