Skip to main content

Android - Simple Sending SMS

Operating System

In this tutorial we will try to create a Simple Sending SMS using Android. This tutorial is only an example for sending an SMS, it does not contain the receiving message yet. Android is a mobile operating system developed by Google. It used in several gadget like smartphone, tablet, and even television. Android is open source to developers who has an interest in developing mobile apps. It also provide an adaptive framework that allow the developer to develop an apps in a simpler way. So let's now do the coding...

Getting Started:

First you will have to download & install the Android Development IDE (Android Studio or Eclipse). Android Studio is an open source development feel free to develop your things.

Here's the link for the Android Studio

Layout Design

We will now create the design for the application, first locate the layout file called activity_main.xml, this is the default name when create a new activity. Then write these codes inside your layout file.

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <RelativeLayout xmlns:android=""
  3. xmlns:app=""
  4. xmlns:tools=""
  5. android:layout_width="match_parent"
  6. android:layout_height="match_parent"
  7. tools:context="com.razormist.sendsmsapp.MainActivity">
  9. <EditText
  10. android:id="@+id/et_contact"
  11. android:layout_height="wrap_content"
  12. android:layout_width="match_parent"
  13. android:inputType="number"
  14. android:hint="Contact Number"/>
  16. <EditText
  17. android:id="@+id/et_message"
  18. android:layout_height="250dp"
  19. android:layout_width="match_parent"
  20. android:hint="Message"
  21. android:inputType="textMultiLine"
  22. android:gravity="left"
  23. android:layout_below="@+id/et_contact"/>
  25. android:id="@+id/btn_send"
  26. android:layout_height="wrap_content"
  27. android:layout_width="wrap_content"
  28. android:layout_below="@+id/et_message"
  29. android:layout_centerHorizontal="true"
  30. android:text="send"/>
  32. </RelativeLayout>

Android Manifest File

The Android Manifest file provides essential information about your app to the Android system in which the system must required before running the code. It describe the overall information about the application. It contains some libraries that needed to access the several method within the app.

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android=""
  3. package="com.razormist.sendsmsapp">
  5. <uses-permission android:name="android.permission.SEND_SMS" />
  6. <application
  7. android:allowBackup="true"
  8. android:icon="@mipmap/ic_launcher"
  9. android:label="@string/app_name"
  10. android:roundIcon="@mipmap/ic_launcher_round"
  11. android:supportsRtl="true"
  12. android:theme="@style/AppTheme">
  13. <activity android:name=".MainActivity"
  14. android:configChanges="orientation"
  15. android:screenOrientation="portrait">
  16. <intent-filter>
  17. <action android:name="android.intent.action.MAIN" />
  19. <category android:name="android.intent.category.LAUNCHER" />
  20. </intent-filter>
  21. </activity>
  22. </application>
  23. </manifest>

The Main Function

This code contains the main function of the application. This code will sent some sms data to the number that input, this will only work when there is an available network . To start with first locate your MainActivity java file and open it, then write these variable inside the MainActivity class.

  1. Button btn_send;
  2. EditText et_contact, et_message;

Then write these method to make the code work correctly.
  1. private void PermissionToConnect(){
  2. if(ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.SEND_SMS) != PackageManager.PERMISSION_GRANTED){
  3. if(ActivityCompat.shouldShowRequestPermissionRationale(MainActivity.this, Manifest.permission.SEND_SMS)){
  4. ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.SEND_SMS}, 1);
  5. }else{
  6. ActivityCompat.requestPermissions(MainActivity.this, new String[]{Manifest.permission.SEND_SMS}, 1);
  7. }
  8. }
  10. }
  12. @Override
  13. public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
  14. if(requestCode == 1) {
  15. if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
  16. if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.SEND_SMS) == PackageManager.PERMISSION_GRANTED) {
  17. Toast.makeText(this, "Access", Toast.LENGTH_SHORT).show();
  18. }
  19. } else {
  20. Toast.makeText(this, "Denied", Toast.LENGTH_SHORT).show();
  21. }
  22. }
  23. }

Finally, initialize the require methods inside the onCreate method to run the application.

  1. btn_send = (Button)findViewById(;
  2. et_contact = (EditText)findViewById(;
  3. et_message = (EditText)findViewById(;
  5. PermissionToConnect();
  7. btn_send.setOnClickListener(new View.OnClickListener() {
  8. @Override
  9. public void onClick(View v) {
  10. String number = et_contact.getText().toString();
  11. String message = et_message.getText().toString();
  13. try{
  14. SmsManager smsManager = SmsManager.getDefault();
  15. smsManager.sendTextMessage(number, null, message, null, null);
  16. Toast.makeText(MainActivity.this, "Sent", Toast.LENGTH_SHORT).show();
  17. }catch (Exception e){
  18. Toast.makeText(MainActivity.this, "Sending Failed", Toast.LENGTH_SHORT).show();
  19. }
  21. }
  22. });

Try to run the app and see if it worked.

There you have it we have created a Simple Sending SMS using Android. I hope that this tutorial help you to what you are looking for. For more updates and tutorials just kindly visit this site. Enjoy Coding!!!

Note: Due to the size or complexity of this submission, the author has submitted it as a .zip file to shorten your download time. After downloading it, you will need a program like Winzip to decompress it.

Virus note: All files are scanned once-a-day by for viruses, but new viruses come out every day, so no prevention program can catch 100% of them.


1. Re-scan downloaded files using your personal virus checker before using it.
2. NEVER, EVER run compiled files (.exe's, .ocx's, .dll's etc.)--only run source code.

Submitted bykiryu (not verified)on Mon, 04/16/2018 - 04:41

hi please can you contact me personally about something i am working on a project and find your code really helpful.

Add new comment

This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.