This video demonstrates how to develop an SMS application in Android Studio using Java.
Software Required
Android Studio
Java SDK
Windows / Linux OS
Android Mobile Device
🔹 Theory (Short & Exam Friendly)
SMS stands for Short Message Service.
Android provides the SmsManager class to send SMS programmatically.
To send SMS, the application requires permission:
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
From Android 6.0 and above, runtime permission is also required.
🔹 Algorithm
- Start the application.
- Create EditText for mobile number and message.
- Create Send button.
- Ask for SMS permission.
- Get mobile number and message text.
- Use SmsManager to send SMS.
- Display success or error message.
- Stop.
💻 PROGRAM CODE
🔹 activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="20dp"
>
<EditText
android:layout_marginTop="100dp"
android:id="@+id/etPhone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter Phone Number"
android:inputType="phone" />
<EditText
android:id="@+id/etMessage"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:hint="Enter Message"
android:inputType="textMultiLine"
android:minLines="4" />
<Button
android:id="@+id/btnSend"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="Send SMS" />
</LinearLayout>
🔹 MainActivity.java
package com.example.demo;
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
public class MainActivity extends AppCompatActivity {
EditText phonenumber, MessageBox;
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
phonenumber = findViewById(R.id.etPhone);
MessageBox = findViewById(R.id.etMessage);
btn = findViewById(R.id.btnSend);
btn.setOnClickListener(v->{
String phone = phonenumber.getText().toString();
String Message = MessageBox.getText().toString();
if (phone.isEmpty()){
phonenumber.setError("Enter Phone Number");
}
if (Message.isEmpty()){
MessageBox.setError("Enter Message");
}
if (ContextCompat.checkSelfPermission(this,Manifest.permission.SEND_SMS)==PackageManager.PERMISSION_GRANTED){
try {
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phone,null,Message,null,null);
Toast.makeText(this, "message is sent successfully", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(this, "Failed to sent", Toast.LENGTH_SHORT).show();
}
}
else {
ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.SEND_SMS},1);
}
});
}
}
🔹 AndroidManifest.xml
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
🔹 Output
- User enters mobile number
- User enters message
- Click on Send SMS button
- SMS is sent successfully
- Confirmation message displayed using Toast
🔹 Conclusion
Thus, an Android application was successfully developed to send SMS using SmsManager class.