Android Accept Incoming Call Programmatically

Android’de Gelen Aramaları Programatik Olarak Kabul Etme

Android’de gelen aramaları programatik olarak kabul etmek, uygulamanızın kullanıcıların aramaları doğrudan uygulamanızdan yanıtlamasına olanak tanıyarak kullanıcı deneyimini iyileştirebilir. Bu, özellikle VoIP uygulamaları veya müşteri hizmetleri uygulamaları gibi aramaların önemli bir parçası olduğu uygulamalar için yararlıdır.

Gereksinimler

Gelen aramaları programatik olarak kabul etmek için aşağıdaki gereksinimleri karşılamanız gerekir:

  • Android 8.0 (API seviyesi 26) veya üzeri çalıştıran bir cihaz.
  • Telefon izinleri: android.permission.ANSWER_PHONE_CALLS ve android.permission.READ_PHONE_STATE.
  • Bir BroadcastReceiver sınıfı, gelen aramaları dinlemek için.
  • Bir TelephonyManager nesnesi, gelen aramaları yönetmek için.

Adımlar

Gelen aramaları programatik olarak kabul etmek için aşağıdaki adımları izleyin:

  1. AndroidManifest.xml dosyanıza aşağıdaki izinleri ekleyin:

xml
<uses-permission android:name="android.permission.ANSWER_PHONE_CALLS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

  1. Bir BroadcastReceiver sınıfı oluşturun ve onReceive() yöntemini aşağıdaki gibi uygulayın:

“`java
public class CallReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    if (intent.getAction().equals(TelephonyManager.ACTION_PHONE_STATE_CHANGED)) {
        String state = intent.getStringExtra(TelephonyManager.EXTRA_STATE);

        if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
            // Gelen arama var.
            String phoneNumber = intent.getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);

            // Aramayı kabul et.
            TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
            telephonyManager.answerRingingCall();
        }
    }
}

}
“`

  1. BroadcastReceiver sınıfınızı AndroidManifest.xml dosyanıza aşağıdaki gibi kaydedin:

xml
<receiver android:name=".CallReceiver">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>

  1. Uygulamanızda TelephonyManager nesnesi oluşturun ve answerRingingCall() yöntemini kullanarak gelen aramaları kabul edin.

java
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.answerRingingCall();

Faydalı Siteler ve Dosyalar


Yayımlandı