ITEEDU

SMS简单示例:SMS-BroadcastReceiver

package com.iteedu.smsfilter;

import android.content.*;
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) {
		//获取传入的短信
		Bundle bundle = intent.getExtras();
		SmsMessage[] msgs = null;
		String str = "";
		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]);
				str += "SMS from " + msgs[i].getOriginatingAddress();
				str += " :";
				str += msgs[i].getMessageBody().toString();
				str += "\n";
			}
			//提示
			Toast.makeText(context, str, Toast.LENGTH_SHORT).show();
		}
	}
}

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	package="com.iteedu.smsfilter" android:versionCode="1"
	android:versionName="1.0">
	<application 
	android:icon="@drawable/icon" android:label="@string/app_name">
		<receiver android:name="SmsReceiver">
			<intent-filter>
				<action android:name=
				"android.provider.Telephony.SMS_RECEIVED" />
			</intent-filter>
		</receiver>
	</application>
	<uses-sdk android:minSdkVersion="3" />
	<uses-permission android:name="android.permission.RECEIVE_SMS" />
</manifest>