SMS APP
1. Creating “Hello world” Application.
1. Click Start →Android Studio, a Welcome to Android Studio dialog box will appear. Click New Project, the New
Project Dialog box appears.
2. Choose Empty Views Activity then click Next.
3. Specify the Name of your project, Select the Language as Java, and Select the Minimum SDK as API 16 (“Jelly
Bean”, Android 4.1). Click Finish Button.
4. go to app folder > manifest > AndroidManifest : in this file
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<uses-permission android:name="android.permission.SEND_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
XML LAYOUT :
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="173dp"
android:layout_marginTop="99dp"
android:layout_marginEnd="180dp"
android:text="Sending SMS"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/editTextPhone"
android:layout_width="276dp"
android:layout_height="55dp"
android:layout_marginStart="67dp"
android:layout_marginTop="35dp"
android:layout_marginEnd="68dp"
android:ems="10"
android:hint="phone number"
android:inputType="text"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="116dp"
android:layout_marginTop="46dp"
android:layout_marginEnd="116dp"
android:text="Enter SMS Message"
android:textSize="20sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editTextPhone" />
<EditText
android:id="@+id/editTextMessage"
android:layout_width="278dp"
android:layout_height="55dp"
android:layout_marginStart="66dp"
android:layout_marginTop="35dp"
android:layout_marginEnd="67dp"
android:layout_marginBottom="352dp"
android:ems="10"
android:hint="Message"
android:inputType="text"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView2" />
<Button
android:id="@+id/buttonSend"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="160dp"
android:layout_marginTop="72dp"
android:layout_marginEnd="160dp"
android:layout_marginBottom="232dp"
android:onClick="onClick"
android:text="Send"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editTextMessage" />
</androidx.constraintlayout.widget.ConstraintLayout>
MainActivity Code:
package com.example.smsapp;
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
public class MainActivity extends AppCompatActivity {
EditText editTextPhone,editTextMessage;
Button buttonSend;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextMessage = findViewById(R.id.editTextMessage);
editTextPhone = findViewById(R.id.editTextPhone);
buttonSend = findViewById(R.id.buttonSend);
buttonSend.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.SEND_SMS)
== PackageManager.PERMISSION_GRANTED){
sendSMS();
}else {
ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.SEND_SMS},100);
});
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[]
grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if(requestCode == 100 && grantResults.length > 0 && grantResults[0] ==
PackageManager.PERMISSION_GRANTED){
sendSMS();
}else {
Toast.makeText(this, "Permission Denied!", Toast.LENGTH_SHORT).show();
private void sendSMS() {
String phone = editTextPhone.getText().toString();
String message = editTextMessage.getText().toString();
if (!phone.isEmpty() && !message.isEmpty()){
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(phone,null,message,null,null);
Toast.makeText(this, "SMS Sent Successfully", Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(this, "Please Enter phone and message", Toast.LENGTH_SHORT).show();
}
go to message emulator message app: