Android tutorial - Android Messages | How to send SMS message in Android - android app development - android studio - android development tutorial



 smsmanager android

What is SMS?

  • SMS stands for short message service and which is also called text messaging or texting.
  • SMS messages or ‘texts’ are usually sent from one mobile phone to another mobile, but can also be sent from some home phones.
  • It is a quick and convenient way of sending a short message to someone.
  • It would be safe to say that almost every mobile phone sold in the past decade has SMS messaging capabilities.
  • In reality, SMS messaging is one excessive application for the mobile phone and it has created a stable income stream for mobile operators.
  • Understanding how to use SMS messaging in your application can offer you with many ideas to create the next application.
  • In Android, you can use SmsManager API or device’s Built-in SMS application to send a SMS message.
  • In this tutorial, we show you two basic examples to send SMS message.
send sms through android
android development tutorial

1. SmsManager API

android codes - android tutorial - android sdk
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("phoneNo", null, "sms message", null, null);
click below button to copy the code from android tutorial team
android programming - android software - android emulator

2. Built-in SMS application

android codes - android tutorial - android sdk
Intent sendIntent = new Intent(Intent.ACTION_VIEW);
sendIntent.putExtra("sms_body", "default content");
sendIntent.setType("vnd.android-dir/mms-sms");
startActivity(sendIntent);
click below button to copy the code from android tutorial team
  • Of course, both need SEND_SMS permission.
android codes - android tutorial - android sdk
<uses-permission android:name="android.permission.SEND_SMS" />
click below button to copy the code from android tutorial team
  • P.S This project is developed in Eclipse 3.7, and tested with Samsung Galaxy S2 (Android 2.3.3).

Note:

  • The Built-in SMS application solution is the easiest way, because you let device handle everything for you.

1. SmsManager Example

  • Android layout file to textboxes (phone no, sms message) and button to send the SMS message.

File : res/layout/main.xml

android codes - android tutorial - android sdk
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textViewPhoneNo"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Enter Phone Number : "
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <EditText
        android:id="@+id/editTextPhoneNo"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:phoneNumber="true" >
    </EditText>

    <TextView
        android:id="@+id/textViewSMS"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Enter SMS Message : "
        android:textAppearance="?android:attr/textAppearanceLarge" />

    <EditText
        android:id="@+id/editTextSMS"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="textMultiLine"
        android:lines="5"
        android:gravity="top" />

    <Button
        android:id="@+id/buttonSend"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Send" />

</LinearLayout>
click below button to copy the code from android tutorial team

File : SendSMSActivity.java - Activity to send SMS via SmsManager.

android codes - android tutorial - android sdk
package com.wikitechy.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();
			  }

			}
		});
	}
}
click below button to copy the code from android tutorial team

File : AndroidManifest.xml , need SEND_SMS permission.

android codes - android tutorial - android sdk
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mkyong.android"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />

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

    <application
        android:debuggable="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:label="@string/app_name"
            android:name=".SendSMSActivity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
click below button to copy the code from android tutorial team

See Demo - android emulator - android tutorial :

 android send sms message example

2. Built-in SMS application Example

  • This example is using the device’s build-in SMS application to send out the SMS message.

File : res/layout/main.xml - A button only.

android codes - android tutorial - android sdk
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/linearLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/buttonSend"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Send" />

</LinearLayout>
click below button to copy the code from android tutorial team

File : SendSMSActivity.java - Activity class to use build-in SMS intent to send out the SMS message.

android codes - android tutorial - android sdk
package com.wikitechy.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();
				}
			}
		});
	}
}
click below button to copy the code from android tutorial team

See Demo - android emulator - android tutorial :

 example android send sms message
 send sms message in android example

Related Searches to Android Messages | How to send SMS message in Android