So senden Sie eine SMS-Nachricht in Android

So senden Sie SMS-Nachrichten in Android

In Android können Sie die API vonSmsManageroder die AnwendungBuilt-in SMSdes Geräts verwenden, um eine SMS-Nachricht zu senden. In diesem Tutorial zeigen wir Ihnen zwei grundlegende Beispiele zum Senden von SMS-Nachrichten:

  1. SmsManager API

        SmsManager smsManager = SmsManager.getDefault();
        smsManager.sendTextMessage("phoneNo", null, "sms message", null, null);
  2. Eingebaute SMS-Anwendung

        Intent sendIntent = new Intent(Intent.ACTION_VIEW);
        sendIntent.putExtra("sms_body", "default content");
        sendIntent.setType("vnd.android-dir/mms-sms");
        startActivity(sendIntent);

Natürlich benötigen beide die Erlaubnis vonSEND_SMS.

P.S This project is developed in Eclipse 3.7, and tested with Samsung Galaxy S2 (Android 2.3.3).

Note
Die integrierte SMS-Anwendungslösung ist der einfachste Weg, da Sie das Gerät alles für Sie erledigen lassen.

1. SmsManager Beispiel

Android-Layout-Datei auf Textfelder (Telefonnummer, SMS-Nachricht) und Schaltfläche zum Senden der SMS-Nachricht.

Datei: res / layout / main.xml



    

    
    

    

    

    

File : SendSMSActivity.java - Aktivität zum Senden von SMS überSmsManager.

package com.example.android;

import android.app.Activity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class SendSMSActivity extends Activity {

    Button buttonSend;
    EditText textPhoneNo;
    EditText textSMS;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        buttonSend = (Button) findViewById(R.id.buttonSend);
        textPhoneNo = (EditText) findViewById(R.id.editTextPhoneNo);
        textSMS = (EditText) findViewById(R.id.editTextSMS);

        buttonSend.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

              String phoneNo = textPhoneNo.getText().toString();
              String sms = textSMS.getText().toString();

              try {
                SmsManager smsManager = SmsManager.getDefault();
                smsManager.sendTextMessage(phoneNo, null, sms, null, null);
                Toast.makeText(getApplicationContext(), "SMS Sent!",
                            Toast.LENGTH_LONG).show();
              } catch (Exception e) {
                Toast.makeText(getApplicationContext(),
                    "SMS faild, please try again later!",
                    Toast.LENGTH_LONG).show();
                e.printStackTrace();
              }

            }
        });
    }
}

File : AndroidManifest.xml benötigen die Erlaubnis vonSEND_SMS.



    

    

    
        
            
                
                
            
        
    

Siehe Demo:

send sms message via smsmanager

2. Beispiel für eine integrierte SMS-Anwendung

In diesem Beispiel wird die integrierte SMS-Anwendung des Geräts zum Senden der SMS-Nachricht verwendet.

File : res/layout/main.xml - Nur eine Schaltfläche.



    

File : SendSMSActivity.java - Aktivitätsklasse zum Verwenden der integrierten SMS-Absicht zum Versenden der SMS-Nachricht.

package com.example.android;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class SendSMSActivity extends Activity {

    Button buttonSend;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        buttonSend = (Button) findViewById(R.id.buttonSend);

        buttonSend.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {

                try {

                     Intent sendIntent = new Intent(Intent.ACTION_VIEW);
                     sendIntent.putExtra("sms_body", "default content");
                     sendIntent.setType("vnd.android-dir/mms-sms");
                     startActivity(sendIntent);

                } catch (Exception e) {
                    Toast.makeText(getApplicationContext(),
                        "SMS faild, please try again later!",
                        Toast.LENGTH_LONG).show();
                    e.printStackTrace();
                }
            }
        });
    }
}

Siehe Demo:

send sms via build-in sms application

send sms via build-in sms application

Quellcode herunterladen

Laden Sie es herunter -1. Android-Send-SMS-Example.zip (16 KB)

Laden Sie es herunter -2. Android-Build-In-SMS-Application-Example.zip (16 KB)