Android Api 22 Get Calling Number

Android API 22’de Arayan Numarayı Alma

Android API 22’de, arayan numarayı almak için kullanabileceğiniz birkaç farklı yol vardır. Bu yollardan biri, TelephonyManager sınıfını kullanmaktır. TelephonyManager sınıfı, cihazın telefon özelliklerine erişmenizi sağlayan bir sınıftır. Bu sınıfı kullanarak, arayan numarayı, cihazın şebeke operatörünü ve cihazın sinyal gücünü gibi bilgileri alabilirsiniz.

TelephonyManager sınıfını kullanarak arayan numarayı almak için şu adımları izleyebilirsiniz:

  1. TelephonyManager sınıfının bir örneğini oluşturun.
  2. TelephonyManager sınıfının getLine1Number() metodunu kullanarak arayan numarayı alın.

Aşağıdaki kod örneği, TelephonyManager sınıfını kullanarak arayan numarayı nasıl alabileceğinizi göstermektedir:

java
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String phoneNumber = telephonyManager.getLine1Number();

TelephonyManager sınıfını kullanarak arayan numarayı alabilmek için, android.permission.READ_PHONE_STATE iznine sahip olmanız gerekir. Bu izni, AndroidManifest.xml dosyasına aşağıdaki satırı ekleyerek verebilirsiniz:

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

TelephonyManager sınıfını kullanarak arayan numarayı almak, arayan numarayı almak için kullanabileceğiniz en kolay yollardan biridir. Ancak, bu yöntem yalnızca cihazın şebeke operatörü tarafından sağlanan numaraları alabilir. Eğer arayan numarası bir VoIP numarasıysa, bu yöntemi kullanarak arayan numarayı alamazsınız.

Arayan numarayı almak için kullanabileceğiniz bir diğer yol ise, TelephonyManager sınıfının listen() metodunu kullanmaktır. listen() metodu, cihazın telefon durumunda meydana gelen değişiklikleri dinlemenizi sağlar. Bu değişiklikler arasında, bir aramanın başlaması veya bitmesi de yer almaktadır.

TelephonyManager sınıfının listen() metodunu kullanarak arayan numarayı almak için şu adımları izleyebilirsiniz:

  1. TelephonyManager sınıfının bir örneğini oluşturun.
  2. TelephonyManager sınıfının listen() metodunu kullanarak, cihazın telefon durumunda meydana gelen değişiklikleri dinleyin.
  3. Bir aramanın başladığını tespit ettiğinizde, TelephonyManager sınıfının getLine1Number() metodunu kullanarak arayan numarayı alın.

Aşağıdaki kod örneği, TelephonyManager sınıfının listen() metodunu kullanarak arayan numarayı nasıl alabileceğinizi göstermektedir:

java
TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.listen(new PhoneStateListener() {
@Override
public void onCallStateChanged(int state, String phoneNumber) {
if (state == TelephonyManager.CALL_STATE_RINGING) {
String phoneNumber = telephonyManager.getLine1Number();
}
}
}, PhoneStateListener.LISTEN_CALL_STATE);

TelephonyManager sınıfının listen() metodunu kullanarak arayan numarayı alabilmek için, android.permission.READ_PHONE_STATE iznine sahip olmanız gerekir. Bu izni, AndroidManifest.xml dosyasına aşağıdaki satırı ekleyerek verebilirsiniz:

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

TelephonyManager sınıfının listen() metodunu kullanarak arayan numarayı almak, arayan numarayı almak için kullanabileceğiniz en güvenilir yollardan biridir. Bu yöntem, cihazın şebeke operatörü tarafından sağlanan numaraları ve VoIP numaralarını da alabilir.

Faydalı Siteler ve İlgili Dosyalar


Yayımlandı