接收短信广播的接收者
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" >