Esempio invio SMS

 

Creare un nuovo progetto android chiamato HelloSMS

 

Aggiungere al manifest la permission per inviare SMS

    <uses-permission android:name="android.permission.SEND_SMS">
    </uses-permission>

 

Inserire nel layout un campo di testo per il numero di telefono e uno per il messaggio, e un bottone per eseguire l'azione

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="vertical" android:layout_width="fill_parent"
	android:layout_height="fill_parent">
 
	<TextView
		android:text="Inserisci il numero di telefono" 
		android:layout_width="fill_parent"
		android:layout_height="wrap_content" />
 
	<EditText 
		android:id="@+id/numeroTelefono"
		android:layout_width="fill_parent" 
		android:layout_height="wrap_content" />
 
	<TextView
		android:text="Messaggio" 
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"  />
 
	<EditText 
		android:id="@+id/messaggio" 
		android:layout_width="fill_parent"
		android:gravity="top" android:layout_height="250px"/>
 
	<Button 
		android:text="Invia SMS" 
		android:id="@+id/buttonInvia" 
		android:layout_width="fill_parent"
		android:layout_height="wrap_content" />
 
</LinearLayout>

 

Creare nell'activity un listener sul pulsante che invia l'sms

public class HelloSMSActivity extends Activity {
 
	EditText numeroTelefono;
	EditText messaggio;
	Button buttonInvia;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        numeroTelefono = (EditText) findViewById(R.id.numeroTelefono);
        messaggio = (EditText) findViewById(R.id.messaggio);
        buttonInvia = (Button) findViewById(R.id.buttonInvia);
 
        buttonInvia.setOnClickListener(new View.OnClickListener(){
            public void onClick(View v){                
                String tel = numeroTelefono.getText().toString();
                String mess = messaggio.getText().toString();                 
                if (tel.length()>0 && mess.length()>0){                
                	PendingIntent pi = PendingIntent
                		.getActivity(
                				getApplicationContext(), 
                				0, 
                				new Intent(
                						getApplicationContext(), 
                						HelloSMSActivity.class
                				), 
                				0);                
                        SmsManager sms = SmsManager.getDefault();
                        sms.sendTextMessage(tel, null, mess, pi, null);                
                }
                else
                    Toast.makeText(getBaseContext(), 
                        "E' necessario inserire sia il telefono che il messaggio.", 
                        Toast.LENGTH_SHORT
                   ).show();
            }
        });        
    }
}

AttachmentSize
HelloSMS.zip44.74 KB