|
|
package com.xypower.mpapp;
|
|
|
|
|
|
import android.content.BroadcastReceiver;
|
|
|
import android.content.Context;
|
|
|
import android.content.Intent;
|
|
|
import android.os.Bundle;
|
|
|
import android.telephony.SmsMessage;
|
|
|
import android.util.Log;
|
|
|
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.Date;
|
|
|
import java.util.TimeZone;
|
|
|
|
|
|
/**
|
|
|
* 短信监听的广播
|
|
|
*
|
|
|
* @author jingjing
|
|
|
*/
|
|
|
public class SmsReceiver extends BroadcastReceiver {
|
|
|
|
|
|
private Context mContext;
|
|
|
public static final String SMS_RECEIVED_ACTION = "android.provider.Telephony.SMS_RECEIVED";
|
|
|
public static final String SMS_DELIVER_ACTION = "android.provider.Telephony.SMS_DELIVER";
|
|
|
|
|
|
@Override
|
|
|
public void onReceive(Context context, Intent intent) {
|
|
|
this.mContext = context;
|
|
|
|
|
|
Log.e("日志:onReceive...", "-接收短信执行了" + intent.getStringExtra("sele"));
|
|
|
String action = intent.getAction();
|
|
|
if (SMS_RECEIVED_ACTION.equals(action) || SMS_DELIVER_ACTION.equals(action)) {
|
|
|
|
|
|
Log.e("日志:onReceive。。。", "开始接收短信.....");
|
|
|
Bundle bundle = intent.getExtras();
|
|
|
if (bundle != null) {
|
|
|
Object[] pdus = (Object[]) bundle.get("pdus");
|
|
|
if (pdus != null && pdus.length > 0) {
|
|
|
SmsMessage[] messages = new SmsMessage[pdus.length];
|
|
|
for (int i = 0; i < pdus.length; i++) {
|
|
|
byte[] pdu = (byte[]) pdus[i];
|
|
|
messages[i] = SmsMessage.createFromPdu(pdu);
|
|
|
}
|
|
|
for (SmsMessage message : messages) {
|
|
|
String content = message.getMessageBody();// 得到短信内容
|
|
|
String sender = message.getOriginatingAddress();// 得到发信息的号码
|
|
|
Date date = new Date(message.getTimestampMillis());
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
format.setTimeZone(TimeZone.getTimeZone("GMT+08:00"));
|
|
|
String dateContent = format.format(date);
|
|
|
|
|
|
// this.abortBroadcast();// 中止
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
} |