Mengirim SMS di Android secara programatikal dengan bahasa Java cukup mudah dilakukan. Kali ini saya coba menuliskannya dalam bentuk tutorial sederhana. IDE (Integrated Development Environment) yang saya gunakan adalah Android Studio, yakni IDE terbaru dari Google yang menggantikan IDE sebelumnya yang berbasis Eclipse. Jika Anda belum memiki IDE Android Studio silahkan diunduh dulu di http://developer.android.com/tools/studio/index.html. Dan jika sudah, Anda dapat melanjutkan membaca tutorial di bawah ini
Mengirim SMS di Android, the Java Code
Mengirim SMS di Android melalui kode Java, dapat dilakukan dengan dua cara, yakni melalui SmsManager API (Application Programming Interface) atau melalui implicit intent yang memanfaatkan aplikasi bawaan (SMS client) di Android. Saya lebih memilih menggunakan cara yang pertama (SmsManager API) karena dapat langsung mengirim SMS tanpa perantara aplikasi bawaan. Berikut langkah-langkahnya :
Langkah pertama, buka Android Studio Anda, dan buat project baru untuk program kirim SMS dengan Android ini. Jika belum tahu caranya silahkan dibaca tutorialnya di Membuat project Android Baru di Android Studio.
Langkah kedua, ambil komponen ‘Button’ ke jendela form designer. Caranya, buka dulu file activity_main.xml dari jendela tree manager (lihat gambar di bawah), kemudan klik bagian tab ‘Design’. Kemudian drag komponen ‘Button ke form designer.
Langkah ketiga, tambahkan event listener ke komponen Button melalui file aactivity_main.xml tapi di bagian tab ‘Text’ (lihat bagian yang di-highlight di bawah)
<Button        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="New Button"        android:id="@+id/button"        android:onClick="propertionclick"        android:layout_below="@+id/textView"        android:layout_alignParentLeft="true"        android:layout_alignParentStart="true" />
Langkah ke empat, buka file MainActivity.java dan tambahkan source code berikut di bawah public class MainActivity
public void propertionclick (View v) { Â Â Â Â Â Â Â TextView teks=(TextView) findViewById (R.id.textView); Â Â Â Â Â Â Â teks.setText("event ini dipicu dr properti onClick"); Â Â Â Â Â Â Â SmsManager smsManager = SmsManager.getDefault(); Â Â Â Â Â Â Â smsManager.sendTextMessage("no hape", null, "isi pesan", null, null); Â Â Â Â Â Â Â }
Method yang penting terletak pada baris [4] dan [5]. Pada baris [4], dibuatlah sebuah instance smsManager dari class SmsManager (ingat, di Java definisi variabel, subrutin, method, class dsb bersifat case sensitive). Kemudian setelah menjadi instance, dapat diturunkan method dari ancestornya, yakni ‘sendTextMessage (baris [5]) dengan parameter ‘no hape’ di isi nomor handphone tujuan (sebaiknya dalam format international/ ada prefix +62) dan parameter ‘isi pesan’ diisi dengan pesan SMS-nya.
Pada langkah ini jangan lupa menambahkan deklarasi class android.telephony.SmsManager; di bagian ‘import’ paling atas, karena API SmsManager berada pada class ini.
Langkah kelima, tambahkan deklarasi permission di file AndroidManifest.xml untuk mengijikan aplikasi mengirim sms
<uses-permission android:name="android.permission.SEND_SMS"> </uses-permission>
Insya Allah sudah selesai sobat, langkah-langkahnya. Tinggal dijalankan aja project-nya. Caranya bisa melalui menu Run | Run App atau tekan tombol Shift+F10 atau dengan mengklik shortcut segitiga hijau di bagian atas IDE. Tapi jangan lupa pasang dulu kabel USB ke smartphone Android-nya :). Dan pastikan driver USB smartphone sudah terinstal dan terdeteksi oleh IDE Android Studio. Selamat mencoba. Hasilnya seperti gambar di bawah. Jika Anda tekan tombol ‘New Button’, maka SMS akan langsung terkirim ke nomor yang tadi Anda definisikan di method sendTextMessage. Kalo ada pertanyaan silahkan isi commentar di bawah ya …
bersambung ke Cara menerima SMS di Android menggunakan Java
a Technopreneur – writer – Enthusiastic about learning AI, IoT, Robotics, Raspberry Pi, Arduino, ESP8266, Delphi, Python, Javascript, PHP, etc. Founder of startup Indomaker.com
halomas saya mau tanya untuk printah java mengirim sms saya coba masih belum berhasil
untuk rumus ini
public void propertionclick (View v) {
TextView teks=(TextView) findViewById (R.id.textView);
teks.setText(“event ini dipicu dr properti onClick”);
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(“no hape”, null, “isi pesan”, null, null);
}
itu di taruh di sebelah mana ya
di bawah public class MainActivity mas. Ini sourcode lengkapnya package com.saptaji.sms; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.telephony.SmsMessage; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.TextView; import android.telephony.SmsManager; import android.widget.Toast; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item);… Read more »
Selamat pagi gan, mau minta pencerahanya nih
Saya mencoba membuat cara mengirim sms seperti yang agan muat di artikel ini, terus saya mau tanya nih gan, kalau saya mau buat sms yang terkirim langsung terhapus, (jadi tidak masuk dihistory sent), dengan hanya 1 (satu) button kirim saja, kira2 bagaimana bikin perintahnya ya ?
Terima kasih banyak buat pencerahanya…
Penen Join dunk
Saya sudah ikuti mas, kok Failed yah?
errornya apa mas?
saay saya kirim tekan tombol kirimnya, aplikasi stop
force closed ya? coba upgrade API level SDK nya
Bagaimana caranya mas, maklum saya pemula nih mas
lewat sdk manager, kemudian upgrade api level sesuai target smartphone nya
mas saya kok di coding (R.id.textView); kok textViewnya error yaa merah mas
errornya apa mas?
mas ini harus di instal dulu di hp? aku udah di jadiin emulatornya pake hp aku klik malah keluar mas
langsung compile ke hp aja mas, lebih ringan
mas bagi email atau wa mas? aku pengin tanya sedikit mas
[email protected]
mas, izin bertanya, mungkin jauh dari konteks thread mas,
mas apakah mas tau mengenai android telephony class DataFailCause?
maaf belum pernah menemui mas