문자를 받으면 기존의 문자보다 먼저 접근하여 해당 문자(@#gangdroid#@)가 있나 확인한후 맞다면

 

해당 어플을 실행하고 틀리다면 기존의 문자메세지에 저장되는 것을 만들고 있습니다.

 

1. 문자내용중에 해당 문자(@#gangdroid#@)를 파싱해와야 되는데 잘안되네요... 해당문자가 없어도 토스트로 띄워져요 ㅠ

 

2. 문자에 해당 문자가 없다면 기존의 문자로 들어가는부분 (else if)부분코드 내용을 잘 모르겠습니다.

 

SMS타입의 배열이기 때문에 String으로 변환하였습니다. 도와주세요 ㅠ

 

public void onReceive(Context context, Intent intent) {
       
  Log.d(TAG, "SmsMessageReceiver: received a message");
  
        Bundle bundle = intent.getExtras();       
        SmsMessage[] msgs = null;
    
        //pdus는 메세지의 규격
     Object[] pdus = (Object[]) bundle.get("pdus");
     msgs = new SmsMessage[pdus.length];
     StringBuffer buffer = new StringBuffer();
     
     if (bundle != null) {
         //임의로 한것...
         String idx = "@#gangdroid#@";
          //인덱스 번호 확인후 맞다면
          if (idx.equalsIgnoreCase("@#gangdroid#@")){
           for (int i=0; i<msgs.length; i++){
                        msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);               
                        buffer.append(msgs[i].getOriginatingAddress());                    
                        buffer.append(":");
                        buffer.append(msgs[i].getMessageBody().toString());
                        buffer.append("\n");
           
                      //토스트 메시지
                     Toast.makeText(context, buffer.toString(), Toast.LENGTH_SHORT).show();
           }
          //인덱스 번호가 아니라면 
          }else if(!idx.equalsIgnoreCase("@#gangdroid#@")){
           
          }
         
         }
 }