• Solo Great Sale

    Solo Great Sale Powered By Circle Card 2015

  • Solo Great Sale

    Solo Great Sale Powered By Circle Card 2015

  • Oracle Java Magazine

    As Cover of Oracle Java Magazine March/April 2012 issue

  • Launching jDuchess Indonesia

    Gunadarma University 2011

    www.jduchess.or.id

  • Launching jDuchess Indonesia

    Gunadarma University 2011

    www.jduchess.or.id

  • Launching Java 7

    Binus University 2011

  • Eclipse Democamp

    Microsoft Indonesia 2011

  • Oracle Academy

    SMK PGRI 3 Malang 2010

  • Launching JENI 2.0

    ITB Bandung 2012

  • Oracle Academy

    SMK PGRI 3 Malang 2010

  • Java and Android Roadshow

    SMK PGRI 3 Malang 2012

  • Oracle Academy

    SMK PGRI 3 Malang 2010

  • Launching JENI 2.0

    ITB Bandung 2012

  • Oracle Academy

    SMK PGRI 3 Malang 2011

  • Java and Android Roadshow

    SMK Plus Darussalam Kediri 2012

  • Oracle Academy Seminar

    LIKMI Bandung, 2012

  • Oracle Academy Seminar

    Indonesia University, 2012

  • Seminar Android

    Universitas Budi Luhur 2010

  • Java and Android Roadshow

    SMK Hasan Kafrawi Jepara 2012

  • Sosialisasi Kurikulum 2013

    LPMP Surabaya 2013

  • IOSA

    Indonesia Open Source Award 2011

  • Java Training

    SMKN 02 Sukabumi 2010

  • Sosialisasi Kurikulum

    SMKN 01 Tulungagung 2011

  • Sosialisasi Kurikulum 2013

    LPMP Surabaya 2013

Thursday, June 24, 2010

Posted by Netty Herawaty
| 5:14 PM
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 Android dengan menggunakan 2 emulator Android. Berikut step by step untuk membuat aplikasi messaging di Android:

1. Sending SMS

Untuk membuat aplikasi messaging kita membutuhkan izin atau permission ke AndroidManifest.xml .  Permission 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" />


Dikelas Activity kita perlu membuat validasi ketika button send ditekan untuk memastikan bahwa nomor telepon dan isi pesan telah terisi sebelum di kirimkan
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 dikirim
registerReceiver(new BroadcastReceiver(){

        @Override

        public void onReceive(Context arg0, Intent arg1) {

            switch (getResultCode())

            {

                case Activity.RESULT_OK:

                    Toast.makeText(getBaseContext(), "SMS delivered",

                            Toast.LENGTH_SHORT).show();

                    break;

                case Activity.RESULT_CANCELED:

                    Toast.makeText(getBaseContext(), "SMS not delivered",

                            Toast.LENGTH_SHORT).show();

                    break;                       

            }

        }

    }, new IntentFilter(DELIVERED));   

Gambar 1 Mengirim Pesan

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 tampil di bar pemberitahuan (atas layar). Pesan di bar pemberitahuan bisa di drag ke tengah layar dan klik untuk membaca pesan

Gambar 2 SMS Diterima

2. Receiving SMS

Untuk melihat bagaimana menerima SMS , 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>

Tambahkan kelas SMSReceiver di class Anda. Dikelas SMSReceiver extend ke BroadcastReceiver dan override ke method onReceive(). Ketika sms diterima method onCreate() akan digunakan. Pesan SMS ada di dalam object Intent melalui object Bundle.Pesan disimpan dalam array object. Untuk mengextract masing-masing pesan menggunakan method createFromPdu() dari kelas SmsMessage. Pesan SMS ini kemudian di tampilkan dengan Toast.
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();

        }                        

    }

}

Reactions: