title: received sms and show in textview in android
body: <p>I write program for sending and receiving sms in android and display received content sms in text view. I want to received sms in program, not in inbox messege!!!
  I know must use from textview.settext("smsContentEtc") but I cant use and implements it.
  I put total code. sms.java for send sms and SmsReceiver.java for received sms.
  please help me.</p>
  
  <p>sms.java</p>
  
  <pre><code>public class SMS extends Activity {
  
          Button btnSendSMS;
          EditText txtPhoneNo;
          EditText txtMessage;
          /** Called when the activity is first created. */
          @Override
          public void onCreate(Bundle savedInstanceState) 
          {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.activity_main);          
              btnSendSMS = (Button) findViewById(R.id.btnSendSMS);
              txtPhoneNo = (EditText) findViewById(R.id.txtPhoneNo);
              txtMessage = (EditText) findViewById(R.id.txtMessage);         
              btnSendSMS.setOnClickListener(new View.OnClickListener() 
              {
                  public void onClick(View v) 
                  {                
                      String phoneNo = txtPhoneNo.getText().toString();
                      String message = txtMessage.getText().toString();                 
                      if (phoneNo.length()&gt;0 &amp;&amp; message.length()&gt;0)                
                          sendSMS(phoneNo, message);                
                      else
                          Toast.makeText(getBaseContext(), 
                              "Please enter both phone number and message.", 
                              Toast.LENGTH_SHORT).show();
                  }
              });        
          } 
          private void sendSMS(String phoneNumber, String message)
          {        
              String SENT = "SMS_SENT";
              String DELIVERED = "SMS_DELIVERED";
  
              PendingIntent sentPI = PendingIntent.getBroadcast(this, 0,
                  new Intent(SENT), 0);
  
              PendingIntent deliveredPI = PendingIntent.getBroadcast(this, 0,
                  new Intent(DELIVERED), 0);
  
              //---when the SMS has been sent---
              registerReceiver(new BroadcastReceiver(){
                  @Override
                  public void onReceive(Context arg0, Intent arg1) {
                      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));
  
              //---when the SMS has been delivered---
              registerReceiver(new BroadcastReceiver(){
                  @Override
                  public void onReceive(Context arg0, Intent arg1) {
                      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));             
              SmsManager sms = SmsManager.getDefault();
              sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI);        
          }
  }
  </code></pre>
  
  <p>SmsReceiver .java</p>
  
  <pre><code> public class SmsReceiver extends BroadcastReceiver
      {
          private TextView txtshow;
           @Override
              public void onReceive(Context context, Intent intent) 
              {
                  //---get the SMS message passed in---
                  Bundle bundle = intent.getExtras();        
                  SmsMessage[] msgs = null;
                  String str = "";            
                  if (bundle != null)
                  {
                      //---retrieve the SMS message received---
                      Object[] pdus = (Object[]) bundle.get("pdus");
                      msgs = new SmsMessage[pdus.length]; 
  
                      for (int i=0; i&lt;msgs.length; i++){
                          msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]);                         
                          str += "SMS from " + msgs[i].getOriginatingAddress();                     
                          str += " :";
                          str += msgs[i].getMessageBody().toString();
                          str += "\n";  
  
                      }
                      //---display the new SMS message---
                     //Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
                      txtshow.setText("smsContentEtc");                  
                  }                         
              }
          }
  </code></pre>
  
  <p>main.xml</p>
  
  <pre><code>&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent" &gt;
  
      &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      &gt;
      &lt;TextView  
          android:layout_width="fill_parent" 
          android:layout_height="wrap_content" 
          android:text="Enter the phone number of recipient"
          /&gt;     
  
      &lt;EditText
          android:id="@+id/txtPhoneNo"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content" /&gt;
  
      &lt;TextView  
          android:layout_width="fill_parent" 
          android:layout_height="wrap_content"         
          android:text="Message"
          /&gt;     
  
      &lt;EditText
          android:id="@+id/txtMessage"
          android:layout_width="fill_parent"
          android:layout_height="150px"
          android:gravity="top" /&gt;
  
      &lt;Button 
          android:id="@+id/btnSendSMS"  
          android:layout_width="fill_parent" 
          android:layout_height="wrap_content"
          android:text="Send SMS"
          /&gt;
  
      &lt;TextView
          android:id="@+id/txt_Show"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:freezesText="@bool/r"
          android:text="TextView" /&gt;
  
  &lt;/LinearLayout&gt;
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>Manifest.xml</p>
  
  <pre><code>&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.example.sms"
      android:versionCode="1"
      android:versionName="1.0" &gt;
  
      &lt;uses-sdk
          android:minSdkVersion="7"
          android:targetSdkVersion="15" /&gt;
  
  
      &lt;application android:icon="@drawable/ic_launcher" android:label="@string/app_name"&gt;
          &lt;activity android:name=".SMS"
                    android:label="@string/app_name"&gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="android.intent.action.MAIN" /&gt;
                  &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
              &lt;/intent-filter&gt;
          &lt;/activity&gt;
           &lt;receiver android:name=".SmsReceiver"&gt; 
              &lt;intent-filter &gt; 
                  &lt;action android:name=
                      "android.provider.Telephony.SMS_RECEIVED" /&gt; 
              &lt;/intent-filter&gt; 
          &lt;/receiver&gt;
      &lt;/application&gt;
      &lt;uses-permission android:name="android.permission.SEND_SMS"&gt;
      &lt;/uses-permission&gt;
      &lt;uses-permission android:name="android.permission.RECEIVE_SMS"&gt;
      &lt;/uses-permission&gt;
  &lt;/manifest&gt;
  </code></pre>