How to create a Phone Call App in Kotlin Android?

Sudish Kumar
1 min readNov 3, 2020

Let’s understand workflow.

  1. We need to give uses Permission in Manifest file.
  2. After that we need a button on which we can click for calling on a particular Number in XML file.
  3. After that we need to set setOnClikListener{ } on button.
  4. After that we need to check permission (user allowed for phone calls or not ) if Yes then call on given number.

Let’s Coding

  1. Write codes in manifest file which is given bellow.

<uses-permission android:name="android.permission.CALL_PHONE"/>

2. Take button in activity_main.xml Or some where in xml file like this.

activity_main.xml

<Button android:id="@+id/makeCall_button"
android:layout_width="100dp" android:layout_height="wrap_content" android:layout_marginTop="231dp"

android:text="call" />

3. And 4.

MainActivity.kt

class MainActivity : AppCompatActivity() {
var REQUEST_PHONE_CALL= 1
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
makeCall_button.setOnClickListener {

// cheacking permission
if(ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) ActivityCompat.requestPermissions(this,arrayOf(android.Manifest.permission.CALL_PHONE),REQUEST_PHONE_CALL)
}else{
makeCall()
}
}
}

private fun makeCall(){
val numberText ="8678667787"
val intent=Intent(Intent.ACTION_CALL)
intent.setData(Uri.parse("tel:$numberText"))
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED
) {
Toast.makeText(this,"Permission denied",Toast.LENGTH_LONG).show()
return
}
startActivity(intent)
}

override fun onRequestPermissionsResult(requestCode: Int, permissions: Array<out String>, grantResults: IntArray) {
if (requestCode == REQUEST_PHONE_CALL){
makeCall()
}
}
}

It’s Working . Thanks…

👏👏👏👏👏👏👏👏👏👏

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Sudish Kumar
Sudish Kumar

Written by Sudish Kumar

Flutter | Android | Node | Dart | Kotlin | Java | JavaScript | TypeScript | PHP | Short Story Teller | Tech Lead

No responses yet

Write a response

Recommended from Medium

Lists

See more recommendations