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
veandroid.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:
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" />
- Bir
BroadcastReceiver
sınıfı oluşturun veonReceive()
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();
}
}
}
}
“`
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>
- Uygulamanızda
TelephonyManager
nesnesi oluşturun veanswerRingingCall()
yöntemini kullanarak gelen aramaları kabul edin.
java
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.answerRingingCall();
Faydalı Siteler ve Dosyalar
- Android Developers: Gelen Aramaları Kabul Etme
- Android Developers: Telefon İzinleri
- Android Developers: BroadcastReceiver Sınıfı
- Android Developers: TelephonyManager Sınıfı