Junior — Middle
Android platformunda gelen ve giden aramaları nasıl gerçekleştirilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Android'de gelen ve giden aramaları standart platform API'leri kullanarak gerçekleştirilir.
Giden Aramalar:
Giden arama yapmak için Intent.ACTION_CALL veya Intent.ACTION_DIAL eylemiyle bir Intent kullanılabilir.
ACTION_DIALtelefon uygulamasını numarayla açar, ancak aramayı otomatik olarak yapmaz.ACTION_CALLhemen aramayı başlatır, ancakCALL_PHONEizni gerektirir.
Giden arama için örnek kod:
Intent callIntent = new Intent(Intent.ACTION_CALL);
callIntent.setData(Uri.parse("tel:+1234567890"));
if (ActivityCompat.checkSelfPermission(context, Manifest.permission.CALL_PHONE) == PackageManager.PERMISSION_GRANTED) {
context.startActivity(callIntent);
} else {
// Kullanıcıdan izin iste
}
Gelen Aramalar:
Gelen aramaları işlemek için TelephonyManager ve PhoneStateListener veya BroadcastReceiver kullanılır.
PhoneStateListener kullanımı örneği:
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
PhoneStateListener callStateListener = new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String phoneNumber) {
switch (state) {
case TelephonyManager.CALL_STATE_RINGING:
// Gelen arama
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
// Arama aktif
break;
case TelephonyManager.CALL_STATE_IDLE:
// Arama sona erdi veya yok
break;
}
}
};
telephonyManager.listen(callStateListener, PhoneStateListener.LISTEN_CALL_STATE);
Tam fonksiyonellik için ek izinler gerekebilir, örneğin READ_PHONE_STATE.
Önemli not: Android 6.0 (API 23) ve sonrası sürümlerde, izinleri çalışma zamanında kullanıcıdan istemek gerekir.