Fitur Panggilan Telepon di Android Menggunakan Java

Jan 19 2023
Menerapkan fitur panggilan telepon dalam aplikasi menggunakan Java di Android. Layanan panggilan adalah salah satu fitur inti di Android dan sangat umum digunakan di Aplikasi Android.

Menerapkan fitur panggilan telepon dalam aplikasi menggunakan Java di Android.

Layanan panggilan adalah salah satu fitur inti di Android dan sangat umum digunakan di Aplikasi Android. Fitur ini memungkinkan pengguna untuk melakukan panggilan dari dalam aplikasi android. Ada dua pendekatan untuk menelepon seseorang melalui aplikasi android. Satu di mana nomor yang akan dihubungi sudah ditentukan sebelumnya dan tidak memerlukan input pengguna. Misalnya, mengajukan pertanyaan atau dukungan ke layanan pelanggan. Pendekatan kedua adalah untuk memanggil nomor yang valid pilihan Anda. Dalam pendekatan ini pengguna seharusnya memasukkan nomor yang harus dihubungi. Di Jawa keduanya dapat diimplementasikan dengan paket bawaan itu sendiri.

Kami perlu memberikan izin untuk mengizinkan aplikasi menggunakan fitur panggilan Android bawaan. Nah untuk itu pertama kita akan meminta izin CALL_PHONE dari pengguna dengan menambahkan kode izin berikut di file AndroidManifest.xml .

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

Dalam hal ini kami telah menambahkan dua tombol dan menetapkan id untuk kedua tombol tersebut. Satu untuk memanggil nomor yang telah ditentukan dan yang lainnya untuk menelepon melalui input pengguna.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="24dp"
        android:textStyle="bold"
        android:text="@string/call_feature" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="16dp"
        android:layout_marginTop="20dp"
        android:text="@string/feature" />

    <Button
        android:id="@+id/btnCall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="10dp"
        android:text="@string/contact_us"/>

    <EditText
        android:id="@+id/edtPhoneNumber"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:textSize="16dp"
        android:layout_marginTop="20dp"
        android:hint="@string/dynamicCall"
        android:text="" />

    <Button
        android:id="@+id/btnCallDynamic"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="10dp"
        android:text="@string/call"/>
</LinearLayout>

Kami akan menggunakan Android Intent untuk menelepon. Maksud android menyertakan kode yang Anda perlukan untuk melakukan tindakan dan mendeskripsikan data dalam objek Intent yang Anda perlukan dari sistem. Maksud memungkinkan Anda memulai aktivitas di aplikasi lain dengan menjelaskan tindakan sederhana yang ingin Anda lakukan di objek Maksud.

Di sini, kami membuat Intent dan mendeskripsikan aksi ACTION_CALL di Objek Intent.

Intent callIntent = new Intent(Intent.ACTION_CALL);

callIntent.setData(Uri.parse("tel: 9999999999"));

ActivityCompat.requestPermissions(MainActivity.this, 
            new String[]{Manifest.permission.CALL_PHONE}, REQUEST_PHONE_CALL);

startActivity(callIntent);

package com.example.androidphonecalls;

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;

import android.Manifest;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

// Initialized edittext and buttons
    Button call, dynamicCall;
    EditText phoneNumber;
    private static final int REQUEST_PHONE_CALL = 1;

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

// Getting instance of button and edit text
        call = findViewById(R.id.btnCall);
        phoneNumber = findViewById(R.id.edtPhoneNumber);
        dynamicCall = findViewById(R.id.btnCallDynamic);

// Here we are adding onClick listener on the button to call predefined number
        call.setOnClickListener(view -> {
            Intent callIntent = new Intent(Intent.ACTION_CALL);
// Here we have defined the number to be called
            callIntent.setData(Uri.parse("tel: 9999999999"));
// Checking for the permission
            ActivityCompat.requestPermissions(MainActivity.this, 
            new String[]{Manifest.permission.CALL_PHONE}, REQUEST_PHONE_CALL);
// Starting the call Intent
            startActivity(callIntent);
        });

// Here we are adding onClick listener on the button to call via user input
        dynamicCall.setOnClickListener(view -> {
// Take value from user input
            String retrieveNumber = phoneNumber.getText().toString();
            Intent callIntent = new Intent(Intent.ACTION_CALL);
            callIntent.setData(Uri.parse("tel:" + retrieveNumber));
// Checking  for permissions
            ActivityCompat.requestPermissions(MainActivity.this, 
            new String[]{Manifest.permission.CALL_PHONE}, REQUEST_PHONE_CALL);
// Starting the call Intent
            startActivity(callIntent);
        });
    }
}

Terima kasih !