2011-08-01 5 views
0

전송 응용 프로그램을 만들었습니다. 실제 장치없이 메시지를 보내려면 어떻게해야합니까?Android 응용 프로그램에서 SMS 보내기

sendSms.setOnClickListener(new View.OnClickListener() 
{ 
    public void onClick(View v) 
    { 
     //Toast.makeText(getApplicationContext(),template+"and"+phoneNumber,Toast.LENGTH_LONG).show(); 
     if (phoneNumber.length()>0 && template.length()>0) 
     { 
      sendSMS(phoneNumber, template); 
     } 
     else 
      Toast.makeText(getApplicationContext(), "please select name & template",Toast.LENGTH_SHORT).show(); 
    } 

    private void sendSMS(String phoneNumber, String template) 
    { 
     PendingIntent pi = PendingIntent.getActivity(getApplicationContext(), 0,new Intent(getApplicationContext(),Test2Activity.class), 0); 
     SmsManager sms = SmsManager.getDefault(); 
     sms.sendTextMessage(phoneNumber, null, template, pi, null); 
    } 
}); 

답변

3
  1. 열기 두 에뮬레이터.
  2. 하나의 에뮬레이터에서 프로그램을 실행하십시오.
  3. "sms.sendTextMessage (phoneNumber, null, template, pi, null)"줄에 " phoneNumber를 에뮬레이터 번호로 대체하십시오. 예 : 5554/5556 등
  4. 코드를 성공적으로 실행하면 다른 에뮬레이터는 SMS를 수신합니다.

    registerReceiver(new BroadcastReceiver(){ 
          @Override 
          public void onReceive(Context context, Intent intent) { 
           switch (getResultCode()) 
           { 
            case Activity.RESULT_OK: 
             Toast.makeText(getBaseContext(), "SMS Sent", Toast.LENGTH_SHORT).show(); 
             break; 
            case SmsManager.RESULT_ERROR_GENERIC_FAILURE: 
             Toast.makeText(getBaseContext(), "Generic Failure", Toast.LENGTH_SHORT).show(); 
             break; 
            case SmsManager.RESULT_ERROR_NO_SERVICE: 
             Toast.makeText(getBaseContext(), "No Service", Toast.LENGTH_SHORT).show(); 
             break; 
            case SmsManager.RESULT_ERROR_NULL_PDU: 
             Toast.makeText(getBaseContext(), "Null PDU", Toast.LENGTH_SHORT).show(); 
             break; 
            case SmsManager.RESULT_ERROR_RADIO_OFF: 
             Toast.makeText(getBaseContext(), "Radio off", Toast.LENGTH_SHORT).show(); 
             break; 
           } 
          }, new IntentFilter(SENT)); 
    
    
    registerReceiver(new BroadcastReceiver() { 
         @Override 
         public void onReceive(Context context, Intent intent) { 
          switch (getResultCode()) 
          { 
           case Activity.RESULT_OK: 
            Toast.makeText(getBaseContext(), "SMS Delivered", Toast.LENGTH_SHORT).show(); 
            break; 
           case Activity.RESULT_CANCELED: 
            Toast.makeText(getBaseContext(), "SMS Not Delivered", Toast.LENGTH_SHORT).show(); 
            break; 
          } 
         } 
        }, new IntentFilter(DELIVERED)); 
    

    Umesh의 대답은 절대적으로 옳다하지만 실용적으로 다음을 확인하려는 경우 당신은 당신의 활동에이 코드를 추가 할 필요가 -이 :

+0

덕분에 많은 umesh 좋은 하루 되세요. – Arpit

+0

환영합니다. 이 방법으로 문제가 해결되면 대답을 수락하십시오. 왼쪽에있는 눈금을 클릭하십시오. 마우스를 가리키면 나타납니다. – Umesh

+0

그래 난 덕분에 – Arpit

0

당신은 다음과 같이 확인할 수 있습니다.