Pada prinsipnya panggilan telepon (call) adalah sebuah ‘Activity’ bawaan Android, sehingga cara termudah untuk melakukan panggilan telepon adalah dengan memanfaatkan Activity internal tersebut. Ada dua cara memanfaatkan sebuah Activity Android, yakni secara eksplisit dan implisit. Karena Activity ‘call’ ini berada di luar aplikasi kita (karena milik sistem operasi Android) maka opsi kedua yang akan kita pakai. Secara umum, mengaktifkan sebuah Activity eksternal secara implisit dilakukan dengan cara mengirim ‘action’ dan ‘data’ yang bersesuaian melalui ‘Uri’. Namun sebelumnya kita harus ‘meminta ijin’ (permission) pada sistem operasi untuk menggunakan activity tersebut dengan mendeklarasikan permission ‘CALL_PHONE’ pada file AndroidManifest.xml
Berikut ini adalah contoh program ‘Call’ sederhana yang ditulis dalam bahasa Java, menggunakan IDE Eclipse.
- Buka IDE Eclipse dan buat project android baru melalui menu File|New|Android Application Project. Ikuti wizard sampai selesai, dan beri nama project sesuai selera (misalnya ‘callsederhana’)
- Buka file activity_main.xml di folder /res/layout, ambil komponen ‘EditText’ dan ‘Button’ yang masing-masing berada di pallete ‘Text Fields’ dan ‘Form Widgets’. Atur peletakan kedua komponen seperti gambar di bawah
- Untuk mengubah label/tulisan pada komponen Button1 ada dua cara, bisa langsung mengubah di properti ‘Text’ di jendela Properties (hardcode) atau melalui file strings.xml di folder /res/value. Dalam pemrograman Android, eksternalisasi resource/value seperti metode yang kedua lebih diutamakan daripada hardcode. Buka file strings.xml di folder res/value dan modifikasi script menjadi seperti berikut
- Kemudian buka file activity_main.xml di folder /res/layout dan modifikasi sedikit pada bagian properti button sebagai berikut. Perhatikan cara pengesetan tulisan/label pada komponen Button melalui properti ‘text’. Pada baris terakhir script di bawah artinya tulisan/label/teks pada komponen button1 akan mengacu pada file strings.xml pada string yang didefinisikan dengan nama ‘call’
- Berikutnya adalah deklarasi permission di file AndroidManifest.xml yang bertujuan untuk ‘meminta ijin’ sistem operasi untuk menggunakan activity internal ‘CALL_PHONE’
- Dan yang terakhir adalah menulis program utamanya di file MainActivity.java sebagai berikut :
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1=(Button) findViewById (R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
EditText teksedit = (EditText) findViewById (R.id.editText1);
Intent intent= new Intent(Intent.ACTION_CALL,
Uri.parse("tel:"+teksedit.getText()));
startActivity(intent);
}
});
}
Penjelasan script di atas :
Baris 8 : menciptakan objek turunan dari class Button dengan nama ‘button1’ dan mendefinisikannya dengan komponen button dengan nama button1 yang ada di layout
Baris 9 : menulis handle untuk menangani event onClick pada objek button1
Baris 12 sd 16 : aksi yang akan dilakukan jika tombol button1 ditekan yakni mengambil nomor yang akan dipanggil (baris 13) dan melakukan panggilan dengan menciptakan intent baru dengan melewatkan parameter melalui Uri (baris 15). Selanjutnya adalah mengaktifkan intent tersebut dengan script ‘startActivity’ (baris 16)
Hubungkan device Android Anda dengan PC dan kemudian running program di atas (Ctrl-F11). Seharusnya akan muncul tampilan program sebagai berikut
Saat pertama kali running
Isikan nomor yang akan di telepon
Tekan tombol ‘Call’
Cukup sederhana bukan? Demikian tutorial kali ini, semoga bermanfaat bagi yang mempelajarinya. Ohya, program di atas dapat di download gratis di sini
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
mas saya ikutin dari awal kok gak bisa ya .
ada error pas di yang terakhir.
Button button1=(Button) findViewById (R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
EditText teksedit = (EditText) findViewById (R.id.editText1);
Intent intent= new Intent(Intent.ACTION_CALL,
Uri.parse(“tel:”+teksedit.getText()));
errornya dimana mbak?
jangan lupa menambahkan permission CALL_PHONE di file manifest
makasih ilmunya,
yang saya mau tanyakan, kalau dalam program yg berbeda, yg mana program itu sudah di buat, dengan data no hp, bisakah langsung menekan ke no hp tersebut tanpa ada button, dan otomatis akan langsung menghunbungi no tersebut. mohon bisa bantu detail mana saja yg perlu di tambahkan….
bisa aja, langsung aja ditulis no hp nya di program di atas
mas kalo telfon misal ke *123# ko pagarnya ilang ya?