SlideShare a Scribd company logo
Presented by :
Rushika Shah
Chandni Chauhan
1.Create
New
Application
2.Add
Permission
4.Moidify
activity_main
.xml
3.Modify
MainActivity.kt 5.Run the
App
2. Give App Permission To Use SEND SMS in
app -> manifests-> Android Manifest.xml
File New Project
Empty
Activity
Project
Configuration
Finish
1. Create new Kotlin Application in Android Studio
<uses-permission android:name="android.permission.SEND_SMS“ />
3. Modify MainActivity.kt file
app -> java ->com.example.{project_name} ->MainActivity.kt
import android.Manifest
import android.content.pm.PackageManager
import android.os.Bundle
import android.telephony.SmsManager
import android.text.TextUtils
import android.view.View
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
Import all
classes
class MainActivity : AppCompatActivity() {
lateinit var editTextNumber : EditText
lateinit var editTextMessage : EditText
lateinit var button :Button
private val permissionRequest = 101
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
editTextNumber = findViewById(R.id.editTextNum)
editTextMessage = findViewById(R.id.editTextMsg)
button = findViewById(R.id.btnSendMsg)
title = "Send SMS"
}
Access widgets for
perform Task
• Check whether permission is already granted or not. If permission isn’t
already granted, request user for the permission.
ContextCompat.checkSelfPermission(thisActivity,Manifest.permission.
Permission_Name)
• When PERMISSION_DENIED is returned from the checkSelfPermission()
method in the above syntax, we need to prompt the user for that
permission. Android provides several methods that can be used to
request permission, such as requestPermissions().
ActivityCompat.requestPermissions(this,arrayOf(Manifest.permission.Perm
ission_Name), permissionRequest)
fun sendMessage(view: View) {
val permissionCheck = ContextCompat.checkSelfPermission(this,
Manifest.permission.SEND_SMS)
if (permissionCheck == PackageManager.PERMISSION_GRANTED) {
myMessage()
}
else {
ActivityCompat.requestPermissions(this,
arrayOf(Manifest.permission.SEND_SMS), permissionRequest)
}
}
Check User
Permission
• SMSManager class manages operations like sending a text message,
data message, and multimedia messages (MMS). For sending a text
message method sendTextMessage() is used likewise for multimedia
message sendMultimediaMessage() and for data
message sendDataMessage() method is used.
• we want to send Text message so we will use sendTextMessage() here.
SmsManager.sendTextMessage(String destinationAddress, String scAddress,
String text, PendingIntent sentIntent,PendingIntent deliveryIntent)
private fun myMessage() {
val myNumber: String = editTextNumber.text.toString().trim()
val myMsg: String = editTextMessage.text.toString().trim()
if (myNumber == "" || myMsg == "") {
Toast.makeText(this, "Field cannot be empty",
Toast.LENGTH_SHORT).show()
}
else {
if (TextUtils.isDigitsOnly(myNumber)) {
val smsManager: SmsManager = SmsManager.getDefault()
smsManager.sendTextMessage(myNumber, null, myMsg, null, null)
Toast.makeText(this, "Message Sent", Toast.LENGTH_SHORT).show()
}
else {
Toast.makeText(this, "Please enter the correct number",
Toast.LENGTH_SHORT).show()
}
}
}
}
SmsManager.sendText
Message() for sending
Message
4. Modify activity_main.xml file
app -> res -> layout -> activity_main.xml
<EditText
android:id="@+id/editTextNum"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter mobile number"
android:textColor="@android:color/black" />
<EditText
android:id="@+id/editTextMsg"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter your message"
android:textColor="@android:color/black" />
Add EdiText For
Mobile Number
Add EdiText For
Text Message
<Button
android:id="@+id/btnSendMsg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="5dp"
android:onClick="sendMessage"
android:text="Send Message" />
Add Button For
Send SMS
5. Run the Application
Click on Run Application or Press Alt+Shift+F10
Here we are running Application on the android Device, so we will
find the Application with Android icon on your Device as shown
below.
Send Sms with SmsManager Api In Android with Kotlin
Send Sms with SmsManager Api In Android with Kotlin
Send Sms with SmsManager Api In Android with Kotlin
Send Sms with SmsManager Api In Android with Kotlin

More Related Content

What's hot

Broadcast Receiver
Broadcast ReceiverBroadcast Receiver
Broadcast Receiver
nationalmobileapps
 
Android testing
Android testingAndroid testing
Android testing
JinaTm
 
Basics and different xml files used in android
Basics and different xml files used in androidBasics and different xml files used in android
Basics and different xml files used in android
Mahmudul Hasan
 
Android activity
Android activityAndroid activity
Android activityKrazy Koder
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming Basics
Eueung Mulyana
 
04 activities and activity life cycle
04 activities and activity life cycle04 activities and activity life cycle
04 activities and activity life cycle
Sokngim Sa
 
Android notification
Android notificationAndroid notification
Android notificationKrazy Koder
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
Eric Cattoir
 
Android resource
Android resourceAndroid resource
Android resourceKrazy Koder
 
Fragment
Fragment Fragment
Class based modeling
Class based modelingClass based modeling
Class based modeling
Md. Shafiuzzaman Hira
 
Mongoose getting started-Mongo Db with Node js
Mongoose getting started-Mongo Db with Node jsMongoose getting started-Mongo Db with Node js
Mongoose getting started-Mongo Db with Node js
Pallavi Srivastava
 
Database in Android
Database in AndroidDatabase in Android
Database in Android
MaryadelMar85
 
Layouts in android
Layouts in androidLayouts in android
Layouts in android
Durai S
 
UI controls in Android
UI controls in Android UI controls in Android
UI controls in Android
DivyaKS12
 
Broadcast receivers
Broadcast receiversBroadcast receivers
Broadcast receivers
maamir farooq
 
Software Engineering Fundamentals
Software Engineering FundamentalsSoftware Engineering Fundamentals
Software Engineering Fundamentals
Rahul Sudame
 

What's hot (20)

Broadcast Receiver
Broadcast ReceiverBroadcast Receiver
Broadcast Receiver
 
Android testing
Android testingAndroid testing
Android testing
 
Basics and different xml files used in android
Basics and different xml files used in androidBasics and different xml files used in android
Basics and different xml files used in android
 
Android activity
Android activityAndroid activity
Android activity
 
Android Programming Basics
Android Programming BasicsAndroid Programming Basics
Android Programming Basics
 
04 activities and activity life cycle
04 activities and activity life cycle04 activities and activity life cycle
04 activities and activity life cycle
 
Android notification
Android notificationAndroid notification
Android notification
 
Asp.net.
Asp.net.Asp.net.
Asp.net.
 
Mobile application development
Mobile application developmentMobile application development
Mobile application development
 
Android resource
Android resourceAndroid resource
Android resource
 
Fragment
Fragment Fragment
Fragment
 
Android ui menu
Android ui menuAndroid ui menu
Android ui menu
 
Class based modeling
Class based modelingClass based modeling
Class based modeling
 
Mongoose getting started-Mongo Db with Node js
Mongoose getting started-Mongo Db with Node jsMongoose getting started-Mongo Db with Node js
Mongoose getting started-Mongo Db with Node js
 
android menus
android menusandroid menus
android menus
 
Database in Android
Database in AndroidDatabase in Android
Database in Android
 
Layouts in android
Layouts in androidLayouts in android
Layouts in android
 
UI controls in Android
UI controls in Android UI controls in Android
UI controls in Android
 
Broadcast receivers
Broadcast receiversBroadcast receivers
Broadcast receivers
 
Software Engineering Fundamentals
Software Engineering FundamentalsSoftware Engineering Fundamentals
Software Engineering Fundamentals
 

Similar to Send Sms with SmsManager Api In Android with Kotlin

Android introduction by vidya topa
Android introduction by vidya topaAndroid introduction by vidya topa
Android introduction by vidya topa
Vidya Topa Institute of Professional Studies
 
Create an other activity lesson 3
Create an other activity lesson 3Create an other activity lesson 3
Create an other activity lesson 3
Kalluri Vinay Reddy
 
Android Application Component: BroadcastReceiver Tutorial
Android Application Component: BroadcastReceiver TutorialAndroid Application Component: BroadcastReceiver Tutorial
Android Application Component: BroadcastReceiver TutorialAhsanul Karim
 
Exercises
ExercisesExercises
Exercises
maamir farooq
 
Mobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMohammad Shaker
 
Mobilizing Your Rails Application - LA Ruby Conference 2009
Mobilizing Your Rails Application - LA Ruby Conference 2009Mobilizing Your Rails Application - LA Ruby Conference 2009
Mobilizing Your Rails Application - LA Ruby Conference 2009
Brendan Lim
 
Tech Talk: App Functionality (Android)
Tech Talk: App Functionality (Android)Tech Talk: App Functionality (Android)
Tech Talk: App Functionality (Android)
Lifeparticle
 
4Developers: Dominik Przybysz- Message Brokers
4Developers: Dominik Przybysz- Message Brokers4Developers: Dominik Przybysz- Message Brokers
4Developers: Dominik Przybysz- Message Brokers
PROIDEA
 
Spring JMS
Spring JMSSpring JMS
Spring JMS
Emprovise
 
Local Notification Tutorial
Local Notification TutorialLocal Notification Tutorial
Local Notification Tutorial
Ketan Raval
 
Java Svet - Communication Between Android App Components
Java Svet - Communication Between Android App ComponentsJava Svet - Communication Between Android App Components
Java Svet - Communication Between Android App Components
Aleksandar Ilić
 
Java Svet - Communication Between Android App Components
Java Svet - Communication Between Android App ComponentsJava Svet - Communication Between Android App Components
Java Svet - Communication Between Android App Components
PSTechSerbia
 
Creating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdfCreating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdf
ShaiAlmog1
 
Session 9 Android Web Services - Part 2.pdf
Session 9 Android Web Services - Part 2.pdfSession 9 Android Web Services - Part 2.pdf
Session 9 Android Web Services - Part 2.pdf
EngmohammedAlzared
 
TinyMCE: WYSIWYG editor 2010-12-08
TinyMCE: WYSIWYG editor 2010-12-08TinyMCE: WYSIWYG editor 2010-12-08
TinyMCE: WYSIWYG editor 2010-12-08
Andy Gelme
 
JavaScript Refactoring
JavaScript RefactoringJavaScript Refactoring
JavaScript Refactoring
Krzysztof Szafranek
 
Bulk SMS gateway integration in asp.net
Bulk SMS gateway integration in asp.netBulk SMS gateway integration in asp.net
Bulk SMS gateway integration in asp.net
KAP Computer Solution Pvt Ltd
 
Show loader to open url in web view
Show loader to open url in web viewShow loader to open url in web view
Show loader to open url in web view
Aravindharamanan S
 

Similar to Send Sms with SmsManager Api In Android with Kotlin (20)

Android
AndroidAndroid
Android
 
Android introduction by vidya topa
Android introduction by vidya topaAndroid introduction by vidya topa
Android introduction by vidya topa
 
Create an other activity lesson 3
Create an other activity lesson 3Create an other activity lesson 3
Create an other activity lesson 3
 
Android Application Component: BroadcastReceiver Tutorial
Android Application Component: BroadcastReceiver TutorialAndroid Application Component: BroadcastReceiver Tutorial
Android Application Component: BroadcastReceiver Tutorial
 
Exercises
ExercisesExercises
Exercises
 
Mobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhoneMobile Software Engineering Crash Course - C06 WindowsPhone
Mobile Software Engineering Crash Course - C06 WindowsPhone
 
Mobilizing Your Rails Application - LA Ruby Conference 2009
Mobilizing Your Rails Application - LA Ruby Conference 2009Mobilizing Your Rails Application - LA Ruby Conference 2009
Mobilizing Your Rails Application - LA Ruby Conference 2009
 
Tech Talk: App Functionality (Android)
Tech Talk: App Functionality (Android)Tech Talk: App Functionality (Android)
Tech Talk: App Functionality (Android)
 
9 services
9 services9 services
9 services
 
4Developers: Dominik Przybysz- Message Brokers
4Developers: Dominik Przybysz- Message Brokers4Developers: Dominik Przybysz- Message Brokers
4Developers: Dominik Przybysz- Message Brokers
 
Spring JMS
Spring JMSSpring JMS
Spring JMS
 
Local Notification Tutorial
Local Notification TutorialLocal Notification Tutorial
Local Notification Tutorial
 
Java Svet - Communication Between Android App Components
Java Svet - Communication Between Android App ComponentsJava Svet - Communication Between Android App Components
Java Svet - Communication Between Android App Components
 
Java Svet - Communication Between Android App Components
Java Svet - Communication Between Android App ComponentsJava Svet - Communication Between Android App Components
Java Svet - Communication Between Android App Components
 
Creating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdfCreating a Whatsapp Clone - Part IV - Transcript.pdf
Creating a Whatsapp Clone - Part IV - Transcript.pdf
 
Session 9 Android Web Services - Part 2.pdf
Session 9 Android Web Services - Part 2.pdfSession 9 Android Web Services - Part 2.pdf
Session 9 Android Web Services - Part 2.pdf
 
TinyMCE: WYSIWYG editor 2010-12-08
TinyMCE: WYSIWYG editor 2010-12-08TinyMCE: WYSIWYG editor 2010-12-08
TinyMCE: WYSIWYG editor 2010-12-08
 
JavaScript Refactoring
JavaScript RefactoringJavaScript Refactoring
JavaScript Refactoring
 
Bulk SMS gateway integration in asp.net
Bulk SMS gateway integration in asp.netBulk SMS gateway integration in asp.net
Bulk SMS gateway integration in asp.net
 
Show loader to open url in web view
Show loader to open url in web viewShow loader to open url in web view
Show loader to open url in web view
 

Recently uploaded

Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Globus
 

Recently uploaded (20)

Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
Exploring Innovations in Data Repository Solutions - Insights from the U.S. G...
 

Send Sms with SmsManager Api In Android with Kotlin

  • 1. Presented by : Rushika Shah Chandni Chauhan
  • 3. 2. Give App Permission To Use SEND SMS in app -> manifests-> Android Manifest.xml File New Project Empty Activity Project Configuration Finish 1. Create new Kotlin Application in Android Studio <uses-permission android:name="android.permission.SEND_SMS“ />
  • 4. 3. Modify MainActivity.kt file app -> java ->com.example.{project_name} ->MainActivity.kt import android.Manifest import android.content.pm.PackageManager import android.os.Bundle import android.telephony.SmsManager import android.text.TextUtils import android.view.View import android.widget.Button import android.widget.EditText import android.widget.TextView import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import androidx.core.app.ActivityCompat import androidx.core.content.ContextCompat Import all classes
  • 5. class MainActivity : AppCompatActivity() { lateinit var editTextNumber : EditText lateinit var editTextMessage : EditText lateinit var button :Button private val permissionRequest = 101 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) editTextNumber = findViewById(R.id.editTextNum) editTextMessage = findViewById(R.id.editTextMsg) button = findViewById(R.id.btnSendMsg) title = "Send SMS" } Access widgets for perform Task
  • 6. • Check whether permission is already granted or not. If permission isn’t already granted, request user for the permission. ContextCompat.checkSelfPermission(thisActivity,Manifest.permission. Permission_Name)
  • 7. • When PERMISSION_DENIED is returned from the checkSelfPermission() method in the above syntax, we need to prompt the user for that permission. Android provides several methods that can be used to request permission, such as requestPermissions(). ActivityCompat.requestPermissions(this,arrayOf(Manifest.permission.Perm ission_Name), permissionRequest)
  • 8. fun sendMessage(view: View) { val permissionCheck = ContextCompat.checkSelfPermission(this, Manifest.permission.SEND_SMS) if (permissionCheck == PackageManager.PERMISSION_GRANTED) { myMessage() } else { ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.SEND_SMS), permissionRequest) } } Check User Permission
  • 9. • SMSManager class manages operations like sending a text message, data message, and multimedia messages (MMS). For sending a text message method sendTextMessage() is used likewise for multimedia message sendMultimediaMessage() and for data message sendDataMessage() method is used. • we want to send Text message so we will use sendTextMessage() here. SmsManager.sendTextMessage(String destinationAddress, String scAddress, String text, PendingIntent sentIntent,PendingIntent deliveryIntent)
  • 10. private fun myMessage() { val myNumber: String = editTextNumber.text.toString().trim() val myMsg: String = editTextMessage.text.toString().trim() if (myNumber == "" || myMsg == "") { Toast.makeText(this, "Field cannot be empty", Toast.LENGTH_SHORT).show() } else { if (TextUtils.isDigitsOnly(myNumber)) { val smsManager: SmsManager = SmsManager.getDefault() smsManager.sendTextMessage(myNumber, null, myMsg, null, null) Toast.makeText(this, "Message Sent", Toast.LENGTH_SHORT).show() } else { Toast.makeText(this, "Please enter the correct number", Toast.LENGTH_SHORT).show() } } } } SmsManager.sendText Message() for sending Message
  • 11. 4. Modify activity_main.xml file app -> res -> layout -> activity_main.xml <EditText android:id="@+id/editTextNum" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Enter mobile number" android:textColor="@android:color/black" /> <EditText android:id="@+id/editTextMsg" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Enter your message" android:textColor="@android:color/black" /> Add EdiText For Mobile Number Add EdiText For Text Message
  • 13. 5. Run the Application Click on Run Application or Press Alt+Shift+F10 Here we are running Application on the android Device, so we will find the Application with Android icon on your Device as shown below.