테스트용 기기(개통되지 않은 안드로이드폰)에 SKT의 USIM을 넣었습니다. USIM에는 사용중인 핸드폰에서 받은 SMS가 저장 되어 있습니다.

그리고 안드로이드 폰에서 USIM에 들어 있는 SMS내용을 가지고 오려고 합니다.

간략히 아래의 코드를 작성 해보았습니다.

아래 결과 내용을 보면, 여타 정보들은 잘 나오는듯 합니다.

그런데... Message의 body(내용)이 null 로 나오는데... 이유가 뭔지 모르겠습니다.

제가 작성한 코드 방법이 잘못 된건지... 조언 부탁 드립니다;;;

항상 쓰는 글이라고는 질문 뿐이군요 >.<;;;



------------------------------------------------------ 테스트 소스는 아래와 같습니다. -------------
import android.app.ListActivity;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;

public class TestICCSms extends ListActivity {
    private final static String[] ICC_COLUMNS = new String[] {
            "service_center_address",
            "address",
            "message_class",
            "body",
            "date",
            "status",
            "index_on_icc",
            "is_status_report",
            "transport_type",
            "type" };


    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    protected void onResume() {
        super.onResume();
        testSMS();
    }
   
    private void testSMS() {

        final Uri SMS_ICC_URI = Uri.parse("content://sms/icc");

        Cursor cursorICC = managedQuery(SMS_ICC_URI, ICC_COLUMNS, null, null, null);

        while (cursorICC.moveToNext()) {

            StringBuffer output = new StringBuffer();

            output.append("body=").append(cursorICC.getString(cursorICC.getColumnIndex("body")));
            output.append(", message_class=").append(cursorICC.getString(cursorICC.getColumnIndex("message_class")));
            output.append(", index_on_icc=").append(cursorICC.getString(cursorICC.getColumnIndex("index_on_icc")));
            output.append(", type=").append(cursorICC.getString(cursorICC.getColumnIndex("type")));
            output.append(", transport_type=").append(cursorICC.getString(cursorICC.getColumnIndex("transport_type")));
            output.append(", address=").append(cursorICC.getString(cursorICC.getColumnIndex("address")));
            output.append(", service_center_address=").append(cursorICC.getString(cursorICC.getColumnIndex("service_center_address")));
            output.append(", date=").append(cursorICC.getString(cursorICC.getColumnIndex("date")));
            Log.d("TestICCSms", output.toString());
        }
    }

}



--------------------------------------------------------------------- 결과값입니다. --------------------
02-01 16:28:52.622: DEBUG/TestICCSms(5785): body=null, message_class=UNKNOWN, index_on_icc=1, type=0, transport_type=sms, address=1579000003, service_center_address=+82100099104764, date=1264622005000
02-01 16:28:52.622: DEBUG/TestICCSms(5785): body=null, message_class=UNKNOWN, index_on_icc=2, type=0, transport_type=sms, address=1571818094, service_center_address=+82100099104764, date=1264616504000
02-01 16:28:52.622: DEBUG/TestICCSms(5785): body=null, message_class=UNKNOWN, index_on_icc=3, type=0, transport_type=sms, address=1579000003, service_center_address=+82100099104764, date=1264622005000
02-01 16:28:52.622: DEBUG/TestICCSms(5785): body=null, message_class=UNKNOWN, index_on_icc=4, type=0, transport_type=sms, address=1579000003, service_center_address=+82100099104764, date=1264622005000
02-01 16:28:52.622: DEBUG/TestICCSms(5785): body=null, message_class=CLASS_0, index_on_icc=5, type=0, transport_type=sms, address=01011116543, service_center_address=+82100099104764, date=1265034089000
02-01 16:28:52.632: DEBUG/TestICCSms(5785): body=null, message_class=CLASS_0, index_on_icc=6, type=0, transport_type=sms, address=01011116543, service_center_address=+82100099104764, date=1265034130000
02-01 16:28:52.632: DEBUG/TestICCSms(5785): body=null, message_class=CLASS_0, index_on_icc=7, type=0, transport_type=sms, address=01011116543, service_center_address=+82100099104764, date=1265034201000