2011-08-01 21 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つのエミュレータ。
  2. プログラムを1つのエミュレータで実行します。
  3. "sms.sendTextMessage(phoneNumber、null、template、pi、null);"という行に、 phoneNumberをエミュレータ番号に置き換えてください。たとえば、5554/5556など
  4. コードの実行に成功すると、もう一方のエミュレータはSMSを受信します。
+0

おかげで多くのumeshは良い一日を持っています。 – Arpit

+0

ようこそ。これで問題が解決した場合は、回答を受け入れることを検討してください。左側の目盛りをクリックします。マウスを動かすと、それが表示されます。 – Umesh

+0

はい、ありがとうございました – Arpit

0

あなたはこのようにチェックすることができます -

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の答えは絶対的に正しいですが、あなたは実用的にそれを確認したい場合、あなたはあなたの活動にこのコードを追加する必要があります。

関連する問題