Java Kullanan Android'de Telefon Görüşmesi Özelliği

Jan 19 2023
Android'de Java kullanılarak uygulama içi telefon görüşmesi özelliğinin uygulanması. Arama hizmeti, Android'deki temel özelliklerden biridir ve Android Uygulamalarında çok yaygın olarak kullanılır.

Android'de Java kullanılarak uygulama içi telefon görüşmesi özelliğinin uygulanması.

Arama hizmeti, Android'deki temel özelliklerden biridir ve Android Uygulamalarında çok yaygın olarak kullanılır. Bu özellik, kullanıcının android uygulama içinden arama yapmasına olanak tanır. Birini android uygulaması aracılığıyla aramak için iki yaklaşım olabilir. Çevrilecek numaranın önceden tanımlandığı ve kullanıcı girişi gerektirmeyen numara. Örneğin, müşteri hizmetlerine bir soru sormak veya destek vermek. İkinci yaklaşım, seçtiğiniz herhangi bir geçerli numarayı aramaktır. Bu yaklaşımda, kullanıcının çevrilmesi gereken bir numara girmesi beklenir. Java'da her ikisi de yerleşik paketin kendisi tarafından uygulanabilir.

Uygulamanın dahili android arama özelliğini kullanmasına izin vermek için izinler vermemiz gerekiyor. Bunun için öncelikle AndroidManifest.xml dosyasına aşağıdaki izin kodunu ekleyerek kullanıcıdan CALL_PHONE izni isteyeceğiz .

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

Buna iki düğme ekledik ve her iki düğme için bir kimlik atadık. Biri önceden tanımlanmış numarayı aramak için, diğeri ise kullanıcı girişi yoluyla aramak için.

<?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>

Aramak için bir Android Intent kullanacağız. Bir android amacı, bir eylemi gerçekleştirmek için ihtiyaç duyduğunuz kodu içerir ve sistemden ihtiyaç duyduğunuz bir Amaç nesnesindeki verileri tanımlar. Intent, bir Intent nesnesinde gerçekleştirmek istediğiniz basit bir eylemi tanımlayarak başka bir uygulamada etkinlik başlatmanıza olanak tanır.

Burada bir Intent oluşturuyoruz ve Intent Nesnesinde ACTION_CALL eylemini açıklıyoruz.

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);
        });
    }
}

Teşekkür ederim !