package com.iss.test;</p><p>import android.content.BroadcastReceiver;<br />import android.content.Context;<br />import android.content.Intent;<br />import android.os.Bundle;<br />import android.telephony.SmsMessage;<br />import android.util.Log;</p><p>public class Smsreceiveandmask extends BroadcastReceiver<br />{</p><p> private String TAG = "smsreceiveandmask";<br /> @Override<br /> public void onReceive(Context context, Intent intent) {<br /> Log.v(TAG, ">>>>>>>onReceive start");<br /> // 第一步、擷取簡訊的內容和寄件者<br /> StringBuilder body = new StringBuilder();// 簡訊內容<br /> StringBuilder number = new StringBuilder();// 簡訊寄件者 </p><p> Log.v(TAG, "number"+ number);<br /> Bundle bundle = intent.getExtras();<br /> if (bundle != null) {<br /> Object[] _pdus = (Object[]) bundle.get("pdus");<br /> SmsMessage[] message = new SmsMessage[_pdus.length];<br /> for (int i = 0; i < _pdus.length; i++) {<br /> message[i] = SmsMessage.createFromPdu((byte[]) _pdus[i]);<br /> }<br /> for (SmsMessage currentMessage : message) {<br /> body.append(currentMessage.getDisplayMessageBody());<br /> number.append(currentMessage.getDisplayOriginatingAddress());<br /> }<br /> String smsBody = body.toString();<br /> String smsNumber = number.toString(); </p><p> Log.v(TAG, "smsNumber"+ smsNumber);</p><p> Log.v(TAG, "smsBody"+ smsBody);<br /> if (smsNumber.contains("+86")) {<br /> smsNumber = smsNumber.substring(3);<br /> } </p><p> String tmp[] =smsBody.split(";");</p><p> for(int i=0; i<tmp.length;i++)<br /> {<br /> System.out.println(tmp[i]);</p><p> Log.v(TAG, "tmp[i]"+ tmp[i]);<br /> }</p><p> // 第二步:確認該簡訊內容是否滿足過濾條件<br /> boolean flags_filter = true;<br /> if (smsNumber.equals("10086")) {// 屏蔽10086發來的簡訊<br /> flags_filter = true;<br /> Log.v(TAG, "sms_number.equals(10086)");<br /> }<br /> // 第三步:取消<br /> if (flags_filter) { </p><p> Log.v(TAG, "flags_filter");<br /> this.abortBroadcast();<br /> }<br /> }<br /> Log.v(TAG, ">>>>>>>onReceive end");<br /> } </p><p>}<br />
<?xml version="1.0" encoding="utf-8"?><br /><manifest xmlns:android="http://schemas.android.com/apk/res/android"<br />package="com.iss.test" android:versionCode="1" android:versionName="1.0"><br /><application android:icon="@drawable/icon" android:label="@string/app_name"><br /><receiver android:name=".Smsreceiveandmask"><br /><intent-filter android:priority="1000"><br /><action android:name="android.provider.Telephony.SMS_RECEIVED" /><br /></intent-filter><br /></receiver></p><p></application></p><p><uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission></p><p></manifest>