SMS Messaging in Android
SMS atau Sort
Message Service merupakan salah satu fitur yang paling digemari oleh
para pengguna Telepon Seluler. Nah, kita juga bisa mengirim dan
menerima SMS di aplikasi Android dengan menggunakan dua emulator
Android. Berikut step by step untuk membuat sebuah aplikasi Messaging
di Android :
1. Sending SMS Message
Untuk membuat
aplikasi Messaging kita membutuhkan sebuah izin ke
AndroidManifest.xml . Izin ini bertujuan untuk menentukan hak akses
khusus yang diperlukan oleh aplikasi
| <uses-permission android:name="android.permission.SEND_SMS" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> |
Setelah itu, di kelas Activity kita perlu membuat validasi ketika button send di tekan untuk memastikan bahwa nomor telepon dan isi pesan telah terisi sebelum dikirimkan
| btnSendSMS.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { String phoneNo = txtPhoneNo.getText().toString(); String message = txtMessage.getText().toString(); if (phoneNo.length()>0 && message.length()>0) sendSMS(phoneNo, message); else Toast.makeText(getBaseContext(), "Please enter both phone number and message.", Toast.LENGTH_SHORT).show(); } }); |
setelah pesan dikirimkan akan tampil notifikasi atau pemberitahuan tentang status pesan, baik pesan diterima atau gagal terkirim
|
registerReceiver(new BroadcastReceiver(){ |

untuk mengetes aplikasi SMS ini, anda dapat mengirim pesan dari satu emulator ke emulator yang lain dengan menggunakan nomor port yang ada di bagian atas emulator (Gambar 1)
Gambar 2 menunjukkan pesan SMS yang diterima pada emulator penerima (emulator dengan port 5556). Pesan dari emulator dengan port 5554 (gambar 1) pertama kali akan muncul di bar pemberitahuan (atas layar). Pesan yang di bar pemberitahuan tadi bisa di drag ke tengah layar dan klik untuk membaca pesan.

2. Receiving SMS Message
Untuk melihat bagaimana menerima SMS dalam aplikasi Android, tambahkan elemen <receiver> di file AndroidManifest.xml sehingga pesan yang masuk dapat diterima oleh kelas SMSReceiver
| <receiver android:name=".SMSReceiver"> <intent-filter> <action android:name= "android.provider.Telephony.SMS_RECEIVED" /> </intent-filter> </receiver> |

| package android.advance; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.telephony.gsm.SmsMessage; import android.widget.Toast; public class SMSReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //---get the SMS message passed in--- Bundle bundle = intent.getExtras(); SmsMessage[] msgs = null; String str = ""; if (bundle != null) { //---retrieve the SMS message received--- Object[] pdus = (Object[]) bundle.get("pdus"); msgs = new SmsMessage[pdus.length]; for (int i=0; i<msgs.length; i++){ msgs[i] = SmsMessage.createFromPdu((byte[])pdus[i]); str += "SMS from " + msgs[i].getOriginatingAddress(); str += " :"; str += msgs[i].getMessageBody().toString(); str += "\n"; } //---display the new SMS message--- Toast.makeText(context, str, Toast.LENGTH_SHORT).show(); } } } |

Posted at 06:56PM Jul 08, 2010 by nety ozora in General | Comments[2]
sugee, bagus banget nih tutorial, thanks before :p
Posted by Latief on May 26, 2011 at 12:10 AM WIT #
mas, cara ngambil value isi smsnya gimana ya?
plis rep
Posted by Hamim on February 01, 2012 at 06:33 PM WIT #