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:
http://www.oguzozkeroglu.com/android-telefon-aramasi-yapabilme/
“Android :: Telefon Araması Yapabilme” yazısına 7 yorum yapılmış.