sms 발신 이벤트 질문입니다.

기존의 sms 이벤트 관련 질의 응답을 검색하였으나 만족하는 답을 얻지 못하여 질문을 올립니다.

 

제가 알고 있던 상식으론 sms 발신,수신은

BroadcastReceiver 를 사용하여 이벤트가 발생할 때 감지할 수 있을 것이라 생각했는데

 

실제로 코드를 작성해보니 수신되는 sms 만 감지가 되고 발신되는 action 은 그냥 흘려 버리 더군요..

intent.getAction(); 을 로그로 찍어보아도 수신 될때는 android.provider.Telephony.SMS_RECEIVED 가 찍히는데

 

발신 할 경우에는 아무런 동작을 감지 못하네요..

 

관련되어 아시는분은 약간의 조언을 부탁드립니다.

 

 

퍼미션은

.SMS_RECEIVED,

.SEND_SMS,

.READ_SMS

를 추가 한 상태입니다.

 

 

 public class SmsReceiver extends BroadcastReceiver{
 /** Called when the activity is first created. */
 public static int MSG_TPE=0;
 
 public void onReceive(Context context, Intent intent){
 
         String MSG_TYPE=intent.getAction();


         if(MSG_TYPE.equals("android.provider.Telephony.SMS_RECEIVED")){
               Bundle bundle = intent.getExtras();
               Object messages[] = (Object[]) bundle.get("pdus");
               SmsMessage smsMessage[] = new SmsMessage[messages.length];
               for (int n = 0; n < messages.length; n++){
                      smsMessage[n] = SmsMessage.createFromPdu((byte[]) messages[n]);
                     }
               Toast toast = Toast.makeText(context,"BLOCKED Received SMS: " + smsMessage[0].getMessageBody(), Toast.LENGTH_LONG);
               toast.show();
               abortBroadcast();
               System.out.println("Blocking SMS_RECEIVED");
        

        }else if(MSG_TYPE.equals("android.provider.Telephony.SEND_SMS")){
              Toast toast = Toast.makeText(context,"SMS SENT: "+MSG_TYPE , Toast.LENGTH_LONG);
              toast.show();
              abortBroadcast();
              System.out.println("Blocking SMS SEND_SMS");
               
        }else{
               Toast toast = Toast.makeText(context,"SIN ELSE: "+MSG_TYPE , Toast.LENGTH_LONG);
               toast.show();
               abortBroadcast();
              System.out.println("Blocking");
         
 
     }
 
 }

}