Come inviare un SMS sul API Android

May 13

Molte applicazioni sviluppate per i telefoni cellulari fanno uso di Short Message Service, o SMS, per fornire dati. L'Android Application Interface, o API, supporta gli SMS e può essere utilizzato per sviluppare applicazioni che utilizzano questa tecnologia per inviare e ricevere dati. Per accedere all'API di Android, è necessario avere installato l'SDK Android e lavorare in Eclipse Integrated Development Environment. è anche necessario il plug-in ADT Eclipse per consentire l'IDE di interfacciarsi con le API di Android.

istruzione

1 Avviare Eclipse, andare su "File" e selezionare "Nuovo" per avviare la nuova procedura guidata di progetto. Selezionare "Android", come il tipo di progetto, immettere "SMSMessaging" nella casella Nome progetto, selezionare "Crea nuovo progetto in area di lavoro," entrare "net.learn2develop.SMSMessaging" come nome del pacchetto, immettere "SMS" come nome di attività e " SMS App "come nome dell'applicazione. Fai clic su "Fine" per creare il progetto.

2 Fare doppio clic sul file "AndroidManifest.xml" di modificarla. Aggiungere due autorizzazioni per il file aggiungendo questo codice tra il "</ Application>" e "</ manifesto>" linee:

<Usa-permesso android: name = "android.permission.SEND_SMS">
</ Usa-permessi>
<Usa-permesso android: name = "android.permission.RECEIVE_SMS">
</ Usa-permessi>

Queste autorizzazioni consentono all'utente di scegliere se vuole installare l'applicazione.

3 Espandere la categoria "Res", aprire la cartella "Layout" e fare doppio clic sul file "main.xml" di modificarla. Eliminare qualsiasi codice che vedi nel file e aggiungere questo codice per creare un'interfaccia utente che consente all'utente di inserire il numero di telefono e il testo del messaggio:

<? Xml version = "1.0" encoding = "utf-8"?>
<LinearLayout xmlns: Android = "http://schemas.android.com/apk/res/android&quot;
Android: orientamento = "verticale"
Android: layout_width = "fill_parent"
Android: layout_height = "fill_parent"

<TextView

Android: layout_width = "fill_parent"
Android: layout_height = "wrap_content"
Android: text = "Inserire il numero di telefono del destinatario del"
/>

<EditText
Android: id = "@ + id / txtPhoneNo"

Android: layout_width = "fill_parent"
Android: layout_height = "wrap_content"

/>
<TextView

Android: layout_width = "fill_parent"
Android: layout_height = "wrap_content"

Android: text = "messaggio"
/>

<EditText
Android: id = "@ + id / txtMessage"

Android: layout_width = "fill_parent"
Android: layout_height = "150px"
Android: la gravità = "top"

/>

<Pulsante
Android: id = "@ + id / btnSendSMS"

Android: layout_width = "fill_parent"
Android: layout_height = "wrap_content"
Android: text = "Invia SMS"
/>

</ LinearLayout>

4 Fare doppio clic sul file "SMS.java" per aprire e modificare. Eliminare qualsiasi codice che vedi nel file e aggiungere questo codice per verificare se viene inserito il numero di telefono e un messaggio di testo prima che il messaggio viene inviato:

pacchetto net.learn2develop.SMSMessaging;
import android.app.Activity;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.gsm.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class SMS estende Activity
{
btnSendSMS Button;
EditText txtPhoneNo;
EditText txtMessage;

/ *

Chiamato quando l'attività viene creato. /
@Override
onCreate public void (Bundle savedInstanceState)
{
super.onCreate (savedInstanceState);
setContentView (R.layout.main);

btnSendSMS = (Button) findViewById (R.id.btnSendSMS);
txtPhoneNo = (EditText) findViewById (R.id.txtPhoneNo);
txtMessage = (EditText) findViewById (R.id.txtMessage);
btnSendSMS.setOnClickListener (nuova View.OnClickListener ()
{

public void onClick (Visualizza v)
{

String = phoneNo txtPhoneNo.getText () toString ().;
messaggio String = txtMessage.getText () toString ().;

if (phoneNo.length ()> 0 && message.length ()> 0)

SendSMS (phoneNo, messaggio);

altro
Toast.makeText (getBaseContext (),
"Si prega di inserire sia il numero di telefono e il messaggio.",
Toast.LENGTH_SHORT) .Show ();
}
});

}

}

5 Creare una nuova funzione che invia il messaggio a un altro dispositivo. Aggiunge questo codice al file SMS.java per creare la funzione:

public class SMS estende Activity
{

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

}

6 Premere il tasto "F11" per compilare, costruire ed eseguire l'applicazione. Si visualizzerà una bella interfaccia utente con due campi, uno per il numero di telefono e l'altro per il testo, e una grigia "Invia SMS" pulsante che è completamente funzionale.