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:

https://www.oguzozkeroglu.com/android-telefon-aramasi-yapabilme/
Lütfen bana dönüş yapın ben bunu çalıştıramadım kendi tanımladığım numarayı nasıl aratacağım .s
Bİr sayfada 2 numara aratamıyorum .s
@Emre
makePhoneCall metoduna parametre olarak gönderdiğiniz numaraya bir çağrı yapması gerekiyor uygulamanın. Acaba adımlardan herhangi birini atlıyor olabilir misiniz?
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.
çok pardon sorunu çözdüm tel yazmışım tel: yapınca çalıştı direk :)
@Aytaç
Kendin pişir kendin ye olmuş biraz :)
izin vermiş olmama rağmen hata alıyorum hemde yazmış olduğunuz hatayı