接收短信广播的接收者

import java.text.SimpleDateFormat;

import java.util.Date;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

import android.telephony.SmsMessage;

public class SmsRecever extends BroadcastReceiver {

public void onReceive(Context context, Intent intent) {

//获取短信数据(多段)

Object[] pdus = (Object[]) intent.getExtras().get("pdus");

for (Object pdu : pdus) {

//把字节数据封装成SmsMessage对象

SmsMessage sms = SmsMessage.createFromPdu((byte[])pdu);

String address = sms.getOriginatingAddress();

String body = sms.getMessageBody();

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

Date date = new Date(sms.getTimestampMillis());

dateFormat.format(date);

System.out.println(date+" "+address+" "+body);

if("13666666666".equals(address)){

abortBroadcast();//进行广播拦截

}

}

}

}

清单文件

package="com.xxc.blacklist"

android:versionCode="1"

android:versionName="1.0" >

android:icon="@drawable/ic_launcher"

android:label="@string/app_name" >

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐