Android :: Telefon Araması Yapabilme

How to make a phone call from your application in Android.
Mobil uygulamalarda iletişim, call center, destek vs sayfalarda bulunan ve doğrudan arama yapabilen butonlar görmüşsünüzdür. Android uygulamalarında bunu yapabilmek için aşağıdaki metodu kullanabiliriz:

	private void makePhoneCall(String number) {
		try {
			Intent intent = new Intent(Intent.ACTION_CALL);
			intent.setData(Uri.parse("tel:" + number));
			startActivity(intent);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

Çağrılan intent metoda gönderdiğimiz telefon numarasına bir telefon çağrısı yapacaktır.
Örnek bir sayfada metodumuzu test edelim. “444 4 444” numaralı telefona (artık çağrıyı kim açarsa kusurumuza bakmasın :) bir arama yapmasını beklediğimiz uygulamanın kodlarını görelim:

public class Main extends Activity {
	private final String CALL_CENTER = "4444444";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        initializeComponents();
    }

    private void initializeComponents() {
		Button btnCall = (Button) findViewById(R.id.btnCall);
		btnCall.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				makePhoneCall(CALL_CENTER);
			}
		});
	}

	private void makePhoneCall(String number) {
		try {
			Intent intent = new Intent(Intent.ACTION_CALL);
			intent.setData(Uri.parse("tel:" + number));
			startActivity(intent);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

Koddan da anlaşılacağı üzere XML tarafında tanımlanmış bir Button nesnesini kullanıyoruz. Butona dokunduğumuzda metodumuz çağrılır ve gönderdiğimiz numaraya bir arama yapmasını bekleriz fakat burda bir hata alırız:

java.lang.SecurityException: Permission Denial:
starting Intent {
act=android.intent.action.CALL
dat=tel:xxx-xxx-xxxx
cmp=com.android.phone/.OutgoingCallBroadcaster
}

Bunun sebebi ise uygulamaya telefonla arama yapabilme iznini vermemiş olmamızdır. Bunu da manifest dosyasına aşağıdaki izin satırını ekleyerek çözebiliriz:

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

İzni ekledikten sonra yeniden denediğimizde, butona dokunduktan sonra aşağıdakine benzer bir ekran görüntüsü elde etmemiz gerekir:
Android make a phone call using java

http://www.oguzozkeroglu.com/android-telefon-aramasi-yapabilme/

İlgili olabilecek yazılar:

Java %100 Nesne Yönelimli Bir Programlama Dili Midir?
Java :: Jersey ile RESTful Webservislere Eclipse, Maven ve Apache Tomcat Kullanarak Giriş Yapalım
EcaHack Hackathon @ Android Developer Days 2013 Ardından
Android :: JSON Parse İşlemleri – 2
Android :: JSON Parse İşlemleri – 1


Android :: Telefon Araması Yapabilme” yazısına 6 yorum yapılmış.

  1. Lütfen bana dönüş yapın ben bunu çalıştıramadım kendi tanımladığım numarayı nasıl aratacağım .s

  2. Merhabalar, ben uygulamayı yazdım sorunsuz hata vermeden açıldı fakat ara butonuna tıkladığımda hiç bir tepki vermiyor program kodları kontrol ettim birebir aynı acaba sorun ne olabilir, yardımcı olursanız sevinirim.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

*