Android基础之BroadCastReceiver短信拦截器

本文介绍了一种基于Android平台的短信拦截器实现方法。通过监听特定号码(如10086)发送的短信并中止其广播过程,来阻止这些短信到达用户。此功能主要依赖于BroadcastReceiver组件和SmsMessage类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版权声明:本文为博主原创文章,未经博主允许不得转载。 根据发送过来短信的号码进行拦截:

public void onReceive(Context context, Intent intent) {
		// 注册,设置关心的action
		//获取传递过来的数据
		Bundle bundle = intent.getExtras();
		//获取pdus报文内容,有可能发送过来的是多条书据
		Object[] pdus = (Object[]) bundle.get("pdus");
		for (Object pdu : pdus) {
			//获取SmsMessage,
			SmsMessage message = SmsMessage.createFromPdu((byte[])pdu);
			//获取发送方的地址
			String address = message.getDisplayOriginatingAddress();
			//获取信息的内容
			String body = message.getMessageBody();
			Log.v("520it", address+"    "+body);
			if (address.equals("10086")) {
				//中止广播
				abortBroadcast();
			}
		}
	}


权限

<uses-permission android:name="android.permission.RECEIVE_SMS"/>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值