Android初级教程短信防火墙

如果你有女神,而且有情敌的话,你看到这篇文章会有一种窃喜的感觉。

需求:对情敌的号码进行拦截,让女神手机永远收不到它的号码。

首先定义一个广播接收者类:

package com.example.smslanjie;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.telephony.gsm.SmsMessage;

public class SmsReceiver extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {
		Bundle bundle = intent.getExtras();
		Object[] objects = (Object[]) bundle.get("pdus");

		for (Object object : objects) {
			SmsMessage sms = SmsMessage.createFromPdu((byte[]) object);
			if (sms.getOriginatingAddress().equals("138438")) {//在这里配置情敌的号码
				abortBroadcast();
			}
		}

	}

}
去清单文件配置一下:

 <receiver android:name="com.example.smslanjie.SmsReceiver">
            <intent-filter android:priority="1000">
                <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
            </intent-filter>
        </receiver>
因为要对系统短信情况监听,需要配置权限。由于短信拦截性质恶劣,谷歌已经不会让我们通过快捷键得到这个权限了。要手动输入发送短信的权限
<uses-permission android:name="android.permission.RECEIVE_SMS"/>

运行之后,当情敌想给女神发短信的时候,她是收不到情敌的短信的。

你可能感兴趣的:(android,广播接收者)