Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package blackwell.testapp
- import android.Manifest
- import android.support.v7.app.AppCompatActivity
- import android.os.Bundle
- import android.widget.EditText
- import android.content.Intent
- import android.telephony.SmsManager
- import android.widget.Toast
- import android.content.IntentFilter
- import android.app.Activity
- import android.app.PendingIntent.getBroadcast
- import android.content.BroadcastReceiver
- import android.content.Context
- import android.support.v4.app.ActivityCompat
- class MainActivity : AppCompatActivity() {
- val SEND_SMS = 101
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_main)
- ActivityCompat.requestPermissions(this, arrayOf<String>(Manifest.permission.SEND_SMS), SEND_SMS)
- val sendButton = findViewById(R.id.send_btn)
- val textMessage = findViewById(R.id.msg) as EditText
- val phoneNumber = findViewById(R.id.phone_no) as EditText
- sendButton.setOnClickListener {
- if (!phoneNumber.text.isBlank()) {
- if(!textMessage.text.isBlank()) {
- sendSMS(phoneNumber.text.toString(), textMessage.text.toString())
- textMessage.text.clear()
- textMessage.error = null
- phoneNumber.error = null
- } else {
- textMessage.error = "Cannot leave message blank"
- }
- } else {
- phoneNumber.error = "Enter A Phone #"
- }
- }
- }
- private fun sendSMS(phoneNumber: String, message: String) {
- val SENT = "SMS_SENT"
- val DELIVERED = "SMS_DELIVERED"
- val sentPI = getBroadcast(this, 0,
- Intent(SENT), 0)
- val deliveredPI = getBroadcast(this, 0,
- Intent(DELIVERED), 0)
- registerReceiver(object : BroadcastReceiver() {
- override fun onReceive(arg0: Context, arg1: Intent) {
- when (resultCode) {
- Activity.RESULT_OK -> Toast.makeText(baseContext, "SMS delivered",
- Toast.LENGTH_SHORT).show()
- Activity.RESULT_CANCELED -> Toast.makeText(baseContext, "SMS not delivered",
- Toast.LENGTH_SHORT).show()
- }
- }
- }, IntentFilter(DELIVERED))
- val sms = SmsManager.getDefault()
- sms.sendTextMessage(phoneNumber, null, message, sentPI, deliveredPI)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement