Dialer Intent - Android Studio - Kotlin
How to launch dialer pad with a specific phone number using Intent
Learn how to easily open the phone dialer or make a direct call in your Android app using Kotlin. This step-by-step guide explains how to use Intent.ACTION_DIAL and Intent.ACTION_CALL, request runtime permissions, and write clean Kotlin code in Android Studio. Ideal for beginners and professional Android developers looking to integrate calling features into their apps.
Video
Step 1: Create a new Project or open new project
Step 2: Code
activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
android:gravity="center"
android:orientation="vertical"
android:padding="20dp"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Dialer Intent"
android:textStyle="bold" />
<!--Edit text to input number/code-->
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:hint="Enter Number/Code...">
<EditText
android:id="@+id/numberEt"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="phone" />
</com.google.android.material.textfield.TextInputLayout>
<!--Button to dial number/code-->
<com.google.android.material.button.MaterialButton
android:id="@+id/dialBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:minWidth="120dp"
android:text="Dial" />
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout 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" android:gravity="center" android:orientation="vertical" android:padding="20dp" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Dialer Intent" android:textStyle="bold" /> <!--Edit text to input number/code--> <com.google.android.material.textfield.TextInputLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:hint="Enter Number/Code..."> <EditText android:id="@+id/numberEt" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="phone" /> </com.google.android.material.textfield.TextInputLayout> <!--Button to dial number/code--> <com.google.android.material.button.MaterialButton android:id="@+id/dialBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:minWidth="120dp" android:text="Dial" /> </LinearLayout>
MainActivity.kt
package com.technifysoft.myapplication
import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
class MainActivityKt : AppCompatActivity() {
//Views
private lateinit var mNumberEt: EditText
private lateinit var mDialBtn: Button
//String variable to store text from edit text
private var number = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
//initialize views
mNumberEt = findViewById(R.id.numberEt)
mDialBtn = findViewById(R.id.dialBtn)
//button click handle
mDialBtn.setOnClickListener {
//get input from edit text
number = mNumberEt.text.toString().trim()
if (number.isEmpty()){
Toast.makeText(this, "Enter Number...!", Toast.LENGTH_SHORT).show()
} else {
//Dialer intent
val intent = Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + Uri.encode(number)))
startActivity(intent)
}
}
}
}
package com.technifysoft.myapplication import android.content.Intent import android.net.Uri import android.os.Bundle import android.widget.Button import android.widget.EditText import android.widget.Toast import androidx.appcompat.app.AppCompatActivity class MainActivityKt : AppCompatActivity() { //Views private lateinit var mNumberEt: EditText private lateinit var mDialBtn: Button //String variable to store text from edit text private var number = "" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) //initialize views mNumberEt = findViewById(R.id.numberEt) mDialBtn = findViewById(R.id.dialBtn) //button click handle mDialBtn.setOnClickListener { //get input from edit text number = mNumberEt.text.toString().trim() if (number.isEmpty()){ Toast.makeText(this, "Enter Number...!", Toast.LENGTH_SHORT).show() } else { //Dialer intent val intent = Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + Uri.encode(number))) startActivity(intent) } } } }



Comments
Post a Comment