Call Intent - Android Studio - Java

Open Call Intent with Phone Number using Android Studio and Java

We will use intent to open the dialer with the phone number the user entered. In this example, we will input a phone number using an input field, i.e., EditText, and open that phone number in the dialer screen by clicking the button.

Code Snippet:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("tel:" + Uri.encode(phone)));
startActivity(intent);

Full Example:

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=".MainActivity1">

    <!--EditText: Input Phone Number-->
    <EditText
        android:id="@+id/phoneEt"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Enter Phone Number"
        android:inputType="phone" />

    <!--MaterialButton: Click to open call intent-->
    <com.google.android.material.button.MaterialButton
        android:id="@+id/callBtn"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="60dp"
        android:text="Call"
        app:cornerRadius="8dp" />

</LinearLayout>

MainActivity.java
package com.technifysoft.myapplication;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import com.google.android.material.button.MaterialButton;

public class MainActivity1 extends AppCompatActivity {

    private EditText phoneEt;
    private MaterialButton callBtn;

    @Override
    public void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        phoneEt = findViewById(R.id.phoneEt);
        callBtn = findViewById(R.id.callBtn);

        callBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                openCallIntent();
            }
        });
    }

    private void openCallIntent() {
        //input phone number
        String phone = phoneEt.getText().toString().trim();

        //open call/dialer intent
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("tel:" + Uri.encode(phone)));
        startActivity(intent);
    }

}

Output:

Call Intent | Android Studio | Java

Call Intent | Android Studio | Java


Comments

Popular posts from this blog

Picture In Picture | Android Studio | Kotlin

Manage External Storage Permission | Android Studio | Kotlin

How to add AIDL folder | Android Studio