Android Open Source - SmartGlove Sms Listener

From Project

Back to project page SmartGlove.


The source code is released under:

MIT License

If you think the Android project SmartGlove listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package com.example.smartgloveproject;
//from www .java  2 s .c  om
import java.util.ArrayList;
import java.util.List;

import android.content.BroadcastReceiver;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.SmsMessage;
import android.util.Log;

public class SmsListener extends BroadcastReceiver {

  public void onReceive(Context context, Intent intent) {
    Log.d("new sms", "entered onRecieve()");
    if (intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")) {
      Bundle bundle = intent.getExtras();
      ArrayList<Sms> txts = new ArrayList<Sms>();
      if (bundle != null) {
        Object[] pdus = (Object[])bundle.get("pdus");
        for (int i = 0; i < pdus.length; i++) {
          SmsMessage sms = SmsMessage.createFromPdu((byte[])pdus[i]);
          Sms txt = Sms.createSmsFromStrings(sms.getOriginatingAddress(),
          Log.d("new sms", "received text number " + (i+1));
      // send an intents package to the mainactivity so it knows of 
      // this update
      Log.d("new sms", "txts.size() = " + txts.size());
      if (txts.size() != 0) {
        // make sure MainActivity gets this
        Intent i = new Intent(context, MainActivity.class);
        // bundle the Sms objects into the intent
        Bundle b = new Bundle(txts.size());
        b.putParcelableArrayList("txts", txts);
        i.putExtra("txtContainer", b);
        // this forces both that the task is active and doesn't 
        // re-open if it is active
        // send the message to MainActivity
        Log.d("new sms", "sending new texts to MainActivity");

Java Source Code List