Search code examples
androidbroadcastreceiver

Android SMS Receiver


i want to have an activity that checks for incoming sms and when it contains some text it wil do something. but i don't know how to do this can anyone help me. I have searched on google but so far no result.


Solution

  • Register a broadcast receiver to get SMS messages like this:

    <receiver android:name=".SmsListener">
        <intent-filter>
            <action android:name="android.provider.Telephony.SMS_RECEIVED" />
        </intent-filter>
    </receiver>
    

    You need <uses-permission android:name="android.permission.RECEIVE_SMS" /> in your manifest as well.

    In your code you need

    @Override
    public void onReceive(Context context, Intent intent) {
            Bundle bundle = intent.getExtras();
            SmsMessage[] msgs = null;
            String msg_from;
            if (bundle != null){
                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]);
                    String msgBody = msgs[i].getMessageBody();
                }
            }
        }